Coverage Report

Created: 2025-05-14 01:45

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
75
template <bool C, typename T, typename... E>
76
struct mp_if_c_impl;
77
template <typename T, typename... E>
78
struct mp_if_c_impl<true, T, E...> {
79
    using type = T;
80
};
81
template <typename T, typename E>
82
struct mp_if_c_impl<false, T, E> {
83
    using type = E;
84
};
85
86
template <bool C, typename T, typename... E>
87
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
88
template <typename C, typename T, typename... E>
89
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
90
91
template <template <typename...> class F, typename... T>
92
struct mp_valid_impl {
93
    template <template <typename...> class G, typename = G<T...>>
94
    static std::true_type check(int);
95
    template <template <typename...> class>
96
    static std::false_type check(...);
97
98
    using type = decltype(check<F>(0));
99
};
100
101
template <template <typename...> class F, typename... T>
102
using mp_valid = typename mp_valid_impl<F, T...>::type;
103
template <template <typename...> class F, typename... T>
104
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
105
106
struct mp_nonesuch {};
107
template <template <typename...> class F, typename... T>
108
struct mp_defer_impl {
109
    using type = F<T...>;
110
};
111
112
template <template <typename...> class F, typename... T>
113
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
114
115
template <bool C, class T, template <class...> class F, class... U>
116
struct mp_eval_if_c_impl;
117
118
template <class T, template <class...> class F, class... U>
119
struct mp_eval_if_c_impl<true, T, F, U...> {
120
    using type = T;
121
};
122
123
template <class T, template <class...> class F, class... U>
124
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
125
126
template <bool C, class T, template <class...> class F, class... U>
127
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
128
template <class C, class T, template <class...> class F, class... U>
129
using mp_eval_if =
130
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
131
template <class C, class T, class Q, class... U>
132
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
133
                                                T,
134
                                                Q::template fn,
135
                                                U...>::type;
136
137
// mp_eval_if_not
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
140
template <class C, class T, class Q, class... U>
141
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
142
143
// mp_eval_or
144
template <class T, template <class...> class F, class... U>
145
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
146
template <class T, class Q, class... U>
147
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
148
149
// mp_valid_and_true
150
template <template <class...> class F, class... T>
151
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
152
template <class Q, class... T>
153
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
154
155
// extension
156
template <template <typename...> class F, typename... T>
157
using mp_valid_result =
158
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
159
template <template <typename...> class F, typename... T>
160
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
161
162
/////////////////////////////////////////////////////////////////
163
// pointer_traits and to_address
164
/////////////////////////////////////////////////////////////////
165
166
template <typename Ptr, typename>
167
struct pointer_traits {};
168
169
template <typename T>
170
struct pointer_traits<T*, void> {
171
    using pointer = T*;
172
    using element_type = T;
173
    using difference_type = std::ptrdiff_t;
174
175
    template <typename U>
176
    using rebind = U*;
177
178
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
179
    static constexpr pointer pointer_to(U& r) noexcept
180
    {
181
        return &r;
182
    }
183
184
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
185
    {
186
        return p;
187
    }
188
};
189
190
template <typename Ptr>
191
using apply_member_difference_type = typename Ptr::difference_type;
192
template <typename Ptr>
193
using get_member_difference_type =
194
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
195
196
template <typename Ptr, typename ElementType>
197
struct pointer_traits_generic_base {
198
    using pointer = Ptr;
199
    using element_type = ElementType;
200
201
    using difference_type = get_member_difference_type<Ptr>;
202
    static_assert(std::is_integral_v<difference_type>);
203
204
    // no rebind (TODO?)
205
206
    template <typename P = Ptr>
207
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
208
    {
209
        return Ptr::pointer_to(r);
210
    }
211
};
212
213
template <typename It, typename = void>
214
struct wrapped_pointer_iterator;
215
216
#ifdef _GLIBCXX_DEBUG
217
template <typename Elem, typename Container>
218
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
219
    SCN_FORCE_INLINE static constexpr auto to_address(
220
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
221
    {
222
        return it.base();
223
    }
224
};
225
#endif
226
#if SCN_STDLIB_GLIBCXX
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<
229
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
230
    SCN_FORCE_INLINE static constexpr auto to_address(
231
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
232
    {
233
        return it.base();
234
    }
235
};
236
#endif
237
#if SCN_STDLIB_LIBCPP
238
template <typename Elem>
239
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
240
    SCN_FORCE_INLINE static constexpr auto to_address(
241
        const std::__wrap_iter<Elem*>& it) noexcept
242
0
    {
243
0
        return it.base();
244
0
    }
245
};
246
#endif
247
248
template <typename I>
249
using apply_deref = decltype(*SCN_DECLVAL(I&));
250
template <typename I>
251
using apply_incr = decltype(++SCN_DECLVAL(I&));
252
template <typename I>
253
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
254
template <typename It>
255
struct wrapped_pointer_iterator<
256
    It,
257
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
258
                     mp_valid_v<apply_incr, It> &&
259
                     mp_valid_v<apply_member_unwrapped, It>>> {
260
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
261
    {
262
        return it._Unwrapped();
263
    }
264
};
265
266
template <typename I>
267
using apply_member_to_address =
268
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
269
270
template <typename Iterator>
271
struct pointer_traits<
272
    Iterator,
273
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
274
    : pointer_traits_generic_base<
275
          Iterator,
276
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
277
    SCN_FORCE_INLINE static constexpr auto to_address(
278
        const Iterator& it) noexcept
279
0
    {
280
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
281
0
    }
282
};
283
284
template <typename It>
285
using apply_ptr_traits_to_address =
286
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
287
template <typename It>
288
inline constexpr bool can_make_address_from_iterator =
289
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
290
291
template <typename T>
292
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
293
2.99M
{
294
2.99M
    return p;
295
2.99M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
2.60M
{
294
2.60M
    return p;
295
2.60M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
391k
{
294
391k
    return p;
295
391k
}
296
template <typename Ptr>
297
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
298
                                                priority_tag<1>) noexcept
299
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
300
{
301
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
302
}
303
template <typename Ptr>
304
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
305
                                                priority_tag<0>) noexcept
306
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
307
                                               priority_tag<2>{}))
308
{
309
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
310
}
311
312
template <typename Ptr>
313
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
314
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
315
2.99M
{
316
2.99M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
2.99M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
2.45M
{
316
2.45M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
2.45M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
144k
{
316
144k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
144k
}
_ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
179k
{
316
179k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
179k
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
212k
{
316
212k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
212k
}
318
319
}  // namespace detail
320
321
/////////////////////////////////////////////////////////////////
322
// <expected> implementation
323
/////////////////////////////////////////////////////////////////
324
325
// The following implementation of expected is based on TartanLlama/expected,
326
// but is heavily modified.
327
//
328
// The original source is here:
329
//     https://github.com/TartanLlama/expected
330
// which is licensed under CC0 (Public Domain).
331
332
/**
333
 * \see `std::unexpected`
334
 */
335
template <typename E>
336
class SCN_TRIVIAL_ABI unexpected {
337
    static_assert(std::is_destructible_v<E>);
338
339
public:
340
    unexpected() = delete;
341
342
    template <
343
        typename Err = E,
344
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
345
                                    !std::is_same_v<Err, std::in_place_t> &&
346
                                    std::is_constructible_v<E, Err>>>
347
    explicit constexpr unexpected(Err&& e) noexcept(
348
        std::is_nothrow_constructible_v<E, Err>)
349
807k
        : m_unexpected(std::forward<Err>(e))
350
840k
    {
351
840k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
840k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
349
661k
        : m_unexpected(std::forward<Err>(e))
350
661k
    {
351
661k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
661k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
349
142k
        : m_unexpected(std::forward<Err>(e))
350
142k
    {
351
142k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
142k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
349
22
        : m_unexpected(std::forward<Err>(e))
350
22
    {
351
22
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
22
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
349
3.47k
        : m_unexpected(std::forward<Err>(e))
350
3.47k
    {
351
3.47k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
3.47k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
349
1.73k
        : m_unexpected(std::forward<Err>(e))
350
1.73k
    {
351
1.73k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
1.73k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
349
352
        : m_unexpected(std::forward<Err>(e))
350
352
    {
351
352
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
352
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
349
30.5k
        : m_unexpected(std::forward<Err>(e))
350
30.5k
    {
351
30.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
30.5k
    }
353
354
    template <typename... Args,
355
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
356
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
357
        std::is_nothrow_constructible_v<E, Args...>)
358
844k
        : m_unexpected(std::forward<Args>(args)...)
359
846k
    {
360
846k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
846k
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
358
809k
        : m_unexpected(std::forward<Args>(args)...)
359
809k
    {
360
809k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
809k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
358
4.54k
        : m_unexpected(std::forward<Args>(args)...)
359
4.54k
    {
360
4.54k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
4.54k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
358
30.5k
        : m_unexpected(std::forward<Args>(args)...)
359
30.5k
    {
360
30.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
30.5k
    }
362
363
    SCN_NODISCARD constexpr E& error() & noexcept
364
1.38M
    {
365
1.38M
        return m_unexpected;
366
1.38M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
364
1.32M
    {
365
1.32M
        return m_unexpected;
366
1.32M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
364
3.49k
    {
365
3.49k
        return m_unexpected;
366
3.49k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
364
20.9k
    {
365
20.9k
        return m_unexpected;
366
20.9k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
364
30.5k
    {
365
30.5k
        return m_unexpected;
366
30.5k
    }
367
    SCN_NODISCARD constexpr const E& error() const& noexcept
368
0
    {
369
0
        return m_unexpected;
370
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
371
372
    SCN_NODISCARD constexpr E&& error() && noexcept
373
    {
374
        return std::move(m_unexpected);
375
    }
376
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
377
    {
378
        return std::move(m_unexpected);
379
    }
380
381
private:
382
    E m_unexpected;
383
};
384
385
template <typename E>
386
unexpected(E) -> unexpected<E>;
387
388
struct unexpect_t {};
389
inline constexpr unexpect_t unexpect{};
390
391
namespace detail {
392
template <typename T, typename... Args>
393
T* construct_at(T* p, Args&&... args) noexcept(
394
    std::is_nothrow_constructible_v<T, Args...>)
395
209k
{
396
209k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
209k
        T(std::forward<Args>(args)...);
398
209k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
395
145k
{
396
145k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
145k
        T(std::forward<Args>(args)...);
398
145k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
395
5.54k
{
396
5.54k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
5.54k
        T(std::forward<Args>(args)...);
398
5.54k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
395
31.0k
{
396
31.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
31.0k
        T(std::forward<Args>(args)...);
398
31.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
395
5.54k
{
396
5.54k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
5.54k
        T(std::forward<Args>(args)...);
398
5.54k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
395
11.0k
{
396
11.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
11.0k
        T(std::forward<Args>(args)...);
398
11.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
395
11.0k
{
396
11.0k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
11.0k
        T(std::forward<Args>(args)...);
398
11.0k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
8
{
396
8
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
8
        T(std::forward<Args>(args)...);
398
8
}
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
8
{
396
8
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
8
        T(std::forward<Args>(args)...);
398
8
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
399
template <typename T>
400
void destroy_at(T* p) noexcept
401
95.2k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
95.2k
    else {
408
95.2k
        p->~T();
409
95.2k
    }
410
95.2k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
5.54k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
5.54k
    else {
408
5.54k
        p->~T();
409
5.54k
    }
410
5.54k
}
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
401
61.9k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
61.9k
    else {
408
61.9k
        p->~T();
409
61.9k
    }
410
61.9k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
401
5.54k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
5.54k
    else {
408
5.54k
        p->~T();
409
5.54k
    }
410
5.54k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
11.0k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
11.0k
    else {
408
11.0k
        p->~T();
409
11.0k
    }
410
11.0k
}
void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
401
11.0k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
11.0k
    else {
408
11.0k
        p->~T();
409
11.0k
    }
410
11.0k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
8
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
8
    else {
408
8
        p->~T();
409
8
    }
410
8
}
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
8
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
8
    else {
408
8
        p->~T();
409
8
    }
410
8
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
411
412
struct deferred_init_tag_t {};
413
static constexpr deferred_init_tag_t deferred_init_tag{};
414
415
template <typename T,
416
          typename E,
417
          bool IsTriviallyDestructible =
418
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>)&&std::
419
                  is_trivially_destructible_v<E>>
420
struct expected_storage_base;
421
422
template <typename T, typename E>
423
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
424
    constexpr expected_storage_base() noexcept(
425
        std::is_nothrow_default_constructible_v<T>)
426
116k
        : m_value(T{}), m_has_value(true)
427
116k
    {
428
116k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
5.54k
        : m_value(T{}), m_has_value(true)
427
5.54k
    {
428
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
11.0k
        : m_value(T{}), m_has_value(true)
427
11.0k
    {
428
11.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
429
430
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
431
        : m_deferred_init(), m_has_value(false)
432
    {
433
    }
434
435
    template <typename... Args,
436
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
437
    constexpr explicit expected_storage_base(
438
        std::in_place_t,
439
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
440
206k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
206k
    {
442
206k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
440
2.20k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.20k
    {
442
2.20k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
2.02k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.02k
    {
442
2.02k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
10.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
10.4k
    {
442
10.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
440
4.60k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
4.60k
    {
442
4.60k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
2.63k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.63k
    {
442
2.63k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
440
9.24k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
9.24k
    {
442
9.24k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
1.40k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.40k
    {
442
1.40k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
440
1.89k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.89k
    {
442
1.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
440
1.04k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.04k
    {
442
1.04k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
440
1.04k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.04k
    {
442
1.04k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
3.69k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
3.69k
    {
442
3.69k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
2.76k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.76k
    {
442
2.76k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
2.76k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.76k
    {
442
2.76k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
360
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
360
    {
442
360
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
926
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
926
    {
442
926
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
440
804
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
804
    {
442
804
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
2.73k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.73k
    {
442
2.73k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
440
2.31k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.31k
    {
442
2.31k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
1.82k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.82k
    {
442
1.82k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
440
6.52k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
6.52k
    {
442
6.52k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
440
62
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
62
    {
442
62
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
784
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
784
    {
442
784
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
972
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
972
    {
442
972
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
440
596
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
596
    {
442
596
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
440
596
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
596
    {
442
596
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
3.64k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
3.64k
    {
442
3.64k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
2.70k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.70k
    {
442
2.70k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
2.70k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.70k
    {
442
2.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
188
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
188
    {
442
188
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
440
52
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
52
    {
442
52
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
940
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
940
    {
442
940
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
440
498
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
498
    {
442
498
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
440
3.14k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
3.14k
    {
442
3.14k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
440
1.99k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.99k
    {
442
1.99k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
440
1.07k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.07k
    {
442
1.07k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
440
1.07k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.07k
    {
442
1.07k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
21.4k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
21.4k
    {
442
21.4k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
19.2k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
19.2k
    {
442
19.2k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
50.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
50.0k
    {
442
50.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
1.97k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.97k
    {
442
1.97k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
440
4.43k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
4.43k
    {
442
4.43k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
440
1.42k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.42k
    {
442
1.42k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
19.1k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
19.1k
    {
442
19.1k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
440
68
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
68
    {
442
68
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
5.42k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
5.42k
    {
442
5.42k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
440
72
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
72
    {
442
72
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
440
528
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
528
    {
442
528
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
443
444
    template <typename... Args,
445
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
446
    constexpr explicit expected_storage_base(
447
        unexpect_t,
448
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
449
507k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
507k
          m_has_value(false)
451
507k
    {
452
507k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.27k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.27k
          m_has_value(false)
451
5.27k
    {
452
5.27k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
47.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
47.6k
          m_has_value(false)
451
47.6k
    {
452
47.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.54k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.54k
          m_has_value(false)
451
5.54k
    {
452
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.54k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.54k
          m_has_value(false)
451
5.54k
    {
452
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.54k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.54k
          m_has_value(false)
451
5.54k
    {
452
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.54k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.54k
          m_has_value(false)
451
5.54k
    {
452
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
5.54k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.54k
          m_has_value(false)
451
5.54k
    {
452
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
4.89k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
4.89k
          m_has_value(false)
451
4.89k
    {
452
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
10.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
10.8k
          m_has_value(false)
451
10.8k
    {
452
10.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
97.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
97.7k
          m_has_value(false)
451
97.7k
    {
452
97.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
11.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.0k
          m_has_value(false)
451
11.0k
    {
452
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
10.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
10.5k
          m_has_value(false)
451
10.5k
    {
452
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
148k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
148k
          m_has_value(false)
451
148k
    {
452
148k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
32.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
32.5k
          m_has_value(false)
451
32.5k
    {
452
32.5k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
19.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
19.6k
          m_has_value(false)
451
19.6k
    {
452
19.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
570
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
570
          m_has_value(false)
451
570
    {
452
570
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
514
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
514
          m_has_value(false)
451
514
    {
452
514
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
222
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
222
          m_has_value(false)
451
222
    {
452
222
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
6.11k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
6.11k
          m_has_value(false)
451
6.11k
    {
452
6.11k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.24k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.24k
          m_has_value(false)
451
1.24k
    {
452
1.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
5.47k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.47k
          m_has_value(false)
451
5.47k
    {
452
5.47k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.13k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.13k
          m_has_value(false)
451
1.13k
    {
452
1.13k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
11.3k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.3k
          m_has_value(false)
451
11.3k
    {
452
11.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
184
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
184
          m_has_value(false)
451
184
    {
452
184
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
340
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
340
          m_has_value(false)
451
340
    {
452
340
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
116
          m_has_value(false)
451
116
    {
452
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
2.62k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
2.62k
          m_has_value(false)
451
2.62k
    {
452
2.62k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
854
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
854
          m_has_value(false)
451
854
    {
452
854
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
2.83k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
2.83k
          m_has_value(false)
451
2.83k
    {
452
2.83k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
1.30k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.30k
          m_has_value(false)
451
1.30k
    {
452
1.30k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
10.9k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
10.9k
          m_has_value(false)
451
10.9k
    {
452
10.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
366
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
366
          m_has_value(false)
451
366
    {
452
366
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
222
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
222
          m_has_value(false)
451
222
    {
452
222
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
116
          m_has_value(false)
451
116
    {
452
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
116
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
116
          m_has_value(false)
451
116
    {
452
116
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
453
454
    constexpr T& get_value() & noexcept
455
309k
    {
456
309k
        return m_value;
457
309k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.81k
    {
456
5.81k
        return m_value;
457
5.81k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.20k
    {
456
2.20k
        return m_value;
457
2.20k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
4.43k
    {
456
4.43k
        return m_value;
457
4.43k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.54k
    {
456
5.54k
        return m_value;
457
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.54k
    {
456
5.54k
        return m_value;
457
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.54k
    {
456
5.54k
        return m_value;
457
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.54k
    {
456
5.54k
        return m_value;
457
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
5.54k
    {
456
5.54k
        return m_value;
457
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
6.19k
    {
456
6.19k
        return m_value;
457
6.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.3k
    {
456
11.3k
        return m_value;
457
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.02k
    {
456
2.02k
        return m_value;
457
2.02k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.1k
    {
456
11.1k
        return m_value;
457
11.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.1k
    {
456
11.1k
        return m_value;
457
11.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.1k
    {
456
11.1k
        return m_value;
457
11.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.1k
    {
456
11.1k
        return m_value;
457
11.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.1k
    {
456
11.1k
        return m_value;
457
11.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.6k
    {
456
11.6k
        return m_value;
457
11.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
21.9k
    {
456
21.9k
        return m_value;
457
21.9k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
18.9k
    {
456
18.9k
        return m_value;
457
18.9k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
44.7k
    {
456
44.7k
        return m_value;
457
44.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
8.64k
    {
456
8.64k
        return m_value;
457
8.64k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
4.60k
    {
456
4.60k
        return m_value;
457
4.60k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
9.24k
    {
456
9.24k
        return m_value;
457
9.24k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.89k
    {
456
1.89k
        return m_value;
457
1.89k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.40k
    {
456
1.40k
        return m_value;
457
1.40k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.04k
    {
456
1.04k
        return m_value;
457
1.04k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.04k
    {
456
1.04k
        return m_value;
457
1.04k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
3.44k
    {
456
3.44k
        return m_value;
457
3.44k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.97k
    {
456
1.97k
        return m_value;
457
1.97k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
3.69k
    {
456
3.69k
        return m_value;
457
3.69k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
2.76k
    {
456
2.76k
        return m_value;
457
2.76k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.76k
    {
456
2.76k
        return m_value;
457
2.76k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
360
    {
456
360
        return m_value;
457
360
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
926
    {
456
926
        return m_value;
457
926
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
13.7k
    {
456
13.7k
        return m_value;
457
13.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.52k
    {
456
1.52k
        return m_value;
457
1.52k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.31k
    {
456
2.31k
        return m_value;
457
2.31k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
6.52k
    {
456
6.52k
        return m_value;
457
6.52k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
1.05k
    {
456
1.05k
        return m_value;
457
1.05k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
784
    {
456
784
        return m_value;
457
784
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
596
    {
456
596
        return m_value;
457
596
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
596
    {
456
596
        return m_value;
457
596
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.35k
    {
456
2.35k
        return m_value;
457
2.35k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
5.50k
    {
456
5.50k
        return m_value;
457
5.50k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
3.64k
    {
456
3.64k
        return m_value;
457
3.64k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
2.70k
    {
456
2.70k
        return m_value;
457
2.70k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.70k
    {
456
2.70k
        return m_value;
457
2.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
188
    {
456
188
        return m_value;
457
188
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
940
    {
456
940
        return m_value;
457
940
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
3.72k
    {
456
3.72k
        return m_value;
457
3.72k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.99k
    {
456
1.99k
        return m_value;
457
1.99k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
1.07k
    {
456
1.07k
        return m_value;
457
1.07k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.07k
    {
456
1.07k
        return m_value;
457
1.07k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
458
    constexpr const T& get_value() const& noexcept
459
0
    {
460
0
        return m_value;
461
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
462
    constexpr T&& get_value() && noexcept
463
0
    {
464
0
        return std::move(m_value);
465
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
466
    constexpr const T&& get_value() const&& noexcept
467
    {
468
        return std::move(m_value);
469
    }
470
471
    constexpr unexpected<E>& get_unexpected() & noexcept
472
490k
    {
473
490k
        return m_unexpected;
474
490k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
47.6k
    {
473
47.6k
        return m_unexpected;
474
47.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.27k
    {
473
5.27k
        return m_unexpected;
474
5.27k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
152k
    {
473
152k
        return m_unexpected;
474
152k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.54k
    {
473
5.54k
        return m_unexpected;
474
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.54k
    {
473
5.54k
        return m_unexpected;
474
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.54k
    {
473
5.54k
        return m_unexpected;
474
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.54k
    {
473
5.54k
        return m_unexpected;
474
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.54k
    {
473
5.54k
        return m_unexpected;
474
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
4.89k
    {
473
4.89k
        return m_unexpected;
474
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
97.7k
    {
473
97.7k
        return m_unexpected;
474
97.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
10.8k
    {
473
10.8k
        return m_unexpected;
474
10.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
11.0k
    {
473
11.0k
        return m_unexpected;
474
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
10.5k
    {
473
10.5k
        return m_unexpected;
474
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
31.5k
    {
473
31.5k
        return m_unexpected;
474
31.5k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
18.6k
    {
473
18.6k
        return m_unexpected;
474
18.6k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
102
    {
473
102
        return m_unexpected;
474
102
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
444
    {
473
444
        return m_unexpected;
474
444
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
222
    {
473
222
        return m_unexpected;
474
222
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
3.95k
    {
473
3.95k
        return m_unexpected;
474
3.95k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
5.75k
    {
473
5.75k
        return m_unexpected;
474
5.75k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
5.66k
    {
473
5.66k
        return m_unexpected;
474
5.66k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
340
    {
473
340
        return m_unexpected;
474
340
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
116
    {
473
116
        return m_unexpected;
474
116
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
184
    {
473
184
        return m_unexpected;
474
184
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
2.12k
    {
473
2.12k
        return m_unexpected;
474
2.12k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
2.43k
    {
473
2.43k
        return m_unexpected;
474
2.43k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
5.72k
    {
473
5.72k
        return m_unexpected;
474
5.72k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
222
    {
473
222
        return m_unexpected;
474
222
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
222
    {
473
222
        return m_unexpected;
474
222
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
116
    {
473
116
        return m_unexpected;
474
116
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
116
    {
473
116
        return m_unexpected;
474
116
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
475
    constexpr const unexpected<E>& get_unexpected() const& noexcept
476
0
    {
477
0
        return m_unexpected;
478
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
479
    constexpr unexpected<E>&& get_unexpected() && noexcept
480
114k
    {
481
114k
        return std::move(m_unexpected);
482
114k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.27k
    {
481
5.27k
        return std::move(m_unexpected);
482
5.27k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.54k
    {
481
5.54k
        return std::move(m_unexpected);
482
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.54k
    {
481
5.54k
        return std::move(m_unexpected);
482
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.54k
    {
481
5.54k
        return std::move(m_unexpected);
482
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.54k
    {
481
5.54k
        return std::move(m_unexpected);
482
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
5.54k
    {
481
5.54k
        return std::move(m_unexpected);
482
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
4.89k
    {
481
4.89k
        return std::move(m_unexpected);
482
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
10.8k
    {
481
10.8k
        return std::move(m_unexpected);
482
10.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
11.0k
    {
481
11.0k
        return std::move(m_unexpected);
482
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
10.5k
    {
481
10.5k
        return std::move(m_unexpected);
482
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
483
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
484
    {
485
        return std::move(m_unexpected);
486
    }
487
488
    SCN_NODISCARD constexpr bool has_value() const noexcept
489
1.52M
    {
490
1.52M
        return m_has_value;
491
1.52M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
99.7k
    {
490
99.7k
        return m_has_value;
491
99.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.3k
    {
490
16.3k
        return m_has_value;
491
16.3k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
312k
    {
490
312k
        return m_has_value;
491
312k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
16.6k
    {
490
16.6k
        return m_has_value;
491
16.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
15.9k
    {
490
15.9k
        return m_has_value;
491
15.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
199k
    {
490
199k
        return m_has_value;
491
199k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.0k
    {
490
33.0k
        return m_has_value;
491
33.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
32.7k
    {
490
32.7k
        return m_has_value;
491
32.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
109k
    {
490
109k
        return m_has_value;
491
109k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
78.0k
    {
490
78.0k
        return m_has_value;
491
78.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
95.4k
    {
490
95.4k
        return m_has_value;
491
95.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
20.0k
    {
490
20.0k
        return m_has_value;
491
20.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
9.64k
    {
490
9.64k
        return m_has_value;
491
9.64k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
18.4k
    {
490
18.4k
        return m_has_value;
491
18.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
15.5k
    {
490
15.5k
        return m_has_value;
491
15.5k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.81k
    {
490
2.81k
        return m_has_value;
491
2.81k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.09k
    {
490
2.09k
        return m_has_value;
491
2.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
2.09k
    {
490
2.09k
        return m_has_value;
491
2.09k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
19.1k
    {
490
19.1k
        return m_has_value;
491
19.1k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
23.9k
    {
490
23.9k
        return m_has_value;
491
23.9k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
7.38k
    {
490
7.38k
        return m_has_value;
491
7.38k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
5.53k
    {
490
5.53k
        return m_has_value;
491
5.53k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
5.53k
    {
490
5.53k
        return m_has_value;
491
5.53k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
720
    {
490
720
        return m_has_value;
491
720
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.85k
    {
490
1.85k
        return m_has_value;
491
1.85k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
33.2k
    {
490
33.2k
        return m_has_value;
491
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
4.93k
    {
490
4.93k
        return m_has_value;
491
4.93k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
4.86k
    {
490
4.86k
        return m_has_value;
491
4.86k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
13.0k
    {
490
13.0k
        return m_has_value;
491
13.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
8.44k
    {
490
8.44k
        return m_has_value;
491
8.44k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
1.56k
    {
490
1.56k
        return m_has_value;
491
1.56k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
1.19k
    {
490
1.19k
        return m_has_value;
491
1.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.19k
    {
490
1.19k
        return m_has_value;
491
1.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
9.97k
    {
490
9.97k
        return m_has_value;
491
9.97k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
30.8k
    {
490
30.8k
        return m_has_value;
491
30.8k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
7.29k
    {
490
7.29k
        return m_has_value;
491
7.29k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
5.41k
    {
490
5.41k
        return m_has_value;
491
5.41k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
5.41k
    {
490
5.41k
        return m_has_value;
491
5.41k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
376
    {
490
376
        return m_has_value;
491
376
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.88k
    {
490
1.88k
        return m_has_value;
491
1.88k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
7.46k
    {
490
7.46k
        return m_has_value;
491
7.46k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
4.44k
    {
490
4.44k
        return m_has_value;
491
4.44k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.37k
    {
490
2.37k
        return m_has_value;
491
2.37k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
2.37k
    {
490
2.37k
        return m_has_value;
491
2.37k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
492
493
    template <typename... Args>
494
    void construct(Args&&... args) noexcept(
495
        std::is_nothrow_constructible_v<T, Args...>)
496
0
    {
497
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
498
0
        m_has_value = true;
499
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
500
    template <typename... Args>
501
    void construct_unexpected(Args&&... args) noexcept(
502
        std::is_nothrow_constructible_v<E, Args...>)
503
114k
    {
504
114k
        scn::detail::construct_at(&get_unexpected(),
505
114k
                                  std::forward<Args>(args)...);
506
114k
        m_has_value = false;
507
114k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.27k
    {
504
5.27k
        scn::detail::construct_at(&get_unexpected(),
505
5.27k
                                  std::forward<Args>(args)...);
506
5.27k
        m_has_value = false;
507
5.27k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.54k
    {
504
5.54k
        scn::detail::construct_at(&get_unexpected(),
505
5.54k
                                  std::forward<Args>(args)...);
506
5.54k
        m_has_value = false;
507
5.54k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.54k
    {
504
5.54k
        scn::detail::construct_at(&get_unexpected(),
505
5.54k
                                  std::forward<Args>(args)...);
506
5.54k
        m_has_value = false;
507
5.54k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.54k
    {
504
5.54k
        scn::detail::construct_at(&get_unexpected(),
505
5.54k
                                  std::forward<Args>(args)...);
506
5.54k
        m_has_value = false;
507
5.54k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.54k
    {
504
5.54k
        scn::detail::construct_at(&get_unexpected(),
505
5.54k
                                  std::forward<Args>(args)...);
506
5.54k
        m_has_value = false;
507
5.54k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
5.54k
    {
504
5.54k
        scn::detail::construct_at(&get_unexpected(),
505
5.54k
                                  std::forward<Args>(args)...);
506
5.54k
        m_has_value = false;
507
5.54k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
4.89k
    {
504
4.89k
        scn::detail::construct_at(&get_unexpected(),
505
4.89k
                                  std::forward<Args>(args)...);
506
4.89k
        m_has_value = false;
507
4.89k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
10.8k
    {
504
10.8k
        scn::detail::construct_at(&get_unexpected(),
505
10.8k
                                  std::forward<Args>(args)...);
506
10.8k
        m_has_value = false;
507
10.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
11.0k
    {
504
11.0k
        scn::detail::construct_at(&get_unexpected(),
505
11.0k
                                  std::forward<Args>(args)...);
506
11.0k
        m_has_value = false;
507
11.0k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
10.5k
    {
504
10.5k
        scn::detail::construct_at(&get_unexpected(),
505
10.5k
                                  std::forward<Args>(args)...);
506
10.5k
        m_has_value = false;
507
10.5k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
508
509
    // No-op, because T and E are trivially destructible
510
114k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.27k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.54k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.54k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.54k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.54k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
5.54k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
4.89k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
10.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
11.0k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
10.5k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
511
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
512
513
private:
514
    union {
515
        T m_value;
516
        unexpected<E> m_unexpected;
517
        char m_deferred_init;
518
    };
519
    bool m_has_value;
520
};
521
522
template <typename E>
523
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
524
#if SCN_STD >= SCN_STD_20
525
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
526
#else
527
    constexpr expected_storage_base() noexcept
528
375k
        : m_deferred_init(), m_has_value(true)
529
375k
    {
530
375k
    }
531
#endif
532
533
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
534
        : m_deferred_init(), m_has_value(false)
535
    {
536
    }
537
538
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
539
        : m_has_value(true)
540
    {
541
    }
542
543
    template <typename... Args,
544
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
545
    explicit constexpr expected_storage_base(
546
        unexpect_t,
547
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
548
307k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
549
307k
          m_has_value(false)
550
307k
    {
551
307k
    }
552
553
    constexpr unexpected<E>& get_unexpected() & noexcept
554
165k
    {
555
165k
        return m_unexpected;
556
165k
    }
557
    constexpr const unexpected<E>& get_unexpected() const& noexcept
558
    {
559
        return m_unexpected;
560
    }
561
    constexpr unexpected<E>&& get_unexpected() && noexcept
562
    {
563
        return std::move(m_unexpected);
564
    }
565
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
566
    {
567
        return std::move(m_unexpected);
568
    }
569
570
    SCN_NODISCARD constexpr bool has_value() const noexcept
571
2.11M
    {
572
2.11M
        return m_has_value;
573
2.11M
    }
574
575
    template <typename... Args>
576
    void construct(Args&&...) noexcept
577
    {
578
        m_has_value = true;
579
    }
580
    template <typename... Args>
581
    void construct_unexpected(Args&&... args) noexcept(
582
        std::is_nothrow_constructible_v<E, Args...>)
583
    {
584
        scn::detail::construct_at(&get_unexpected(),
585
                                  std::forward<Args>(args)...);
586
        m_has_value = false;
587
    }
588
589
    static constexpr void destroy_value() noexcept {}
590
    static constexpr void destroy_unexpected() noexcept {}
591
592
private:
593
    union {
594
        unexpected<E> m_unexpected;
595
        char m_deferred_init;
596
    };
597
    bool m_has_value;
598
};
599
600
/**
601
 * Implementation of `std::max` without including `<algorithm>`
602
 */
603
template <typename T>
604
constexpr T max(T a, T b) noexcept
605
0
{
606
0
    return (a < b) ? b : a;
607
0
}
608
609
template <typename T, typename E>
610
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
611
33.2k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
33.2k
    {
613
33.2k
        construct();
614
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
5.54k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
5.54k
    {
613
5.54k
        construct();
614
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
5.54k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
5.54k
    {
613
5.54k
        construct();
614
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
11.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
11.0k
    {
613
11.0k
        construct();
614
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base()
Line
Count
Source
611
11.0k
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
11.0k
    {
613
11.0k
        construct();
614
11.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
615
616
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
617
        : m_has_value(false)
618
    {
619
    }
620
621
    template <typename... Args,
622
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
623
    explicit constexpr expected_storage_base(
624
        std::in_place_t,
625
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
626
16
        : m_has_value(true)
627
16
    {
628
16
        construct(std::forward<Args>(args)...);
629
16
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
8
        : m_has_value(true)
627
8
    {
628
8
        construct(std::forward<Args>(args)...);
629
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
8
        : m_has_value(true)
627
8
    {
628
8
        construct(std::forward<Args>(args)...);
629
8
    }
630
631
    template <typename... Args,
632
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
633
    explicit constexpr expected_storage_base(
634
        unexpect_t,
635
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
636
31.0k
        : m_has_value(false)
637
31.0k
    {
638
31.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
31.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
4.89k
        : m_has_value(false)
637
4.89k
    {
638
4.89k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
4.89k
        : m_has_value(false)
637
4.89k
    {
638
4.89k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
10.5k
        : m_has_value(false)
637
10.5k
    {
638
10.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
10.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
10.5k
        : m_has_value(false)
637
10.5k
    {
638
10.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
24
        : m_has_value(false)
637
24
    {
638
24
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
20
        : m_has_value(false)
637
20
    {
638
20
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
44
        : m_has_value(false)
637
44
    {
638
44
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
40
        : m_has_value(false)
637
40
    {
638
40
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
640
641
    ~expected_storage_base()
642
64.3k
    {
643
64.3k
        if (has_value()) {
644
2.37k
            destroy_value();
645
2.37k
        }
646
61.9k
        else {
647
61.9k
            destroy_unexpected();
648
61.9k
        }
649
64.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
10.4k
    {
643
10.4k
        if (has_value()) {
644
646
            destroy_value();
645
646
        }
646
9.79k
        else {
647
9.79k
            destroy_unexpected();
648
9.79k
        }
649
10.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
10.4k
    {
643
10.4k
        if (has_value()) {
644
646
            destroy_value();
645
646
        }
646
9.79k
        else {
647
9.79k
            destroy_unexpected();
648
9.79k
        }
649
10.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
21.6k
    {
643
21.6k
        if (has_value()) {
644
532
            destroy_value();
645
532
        }
646
21.1k
        else {
647
21.1k
            destroy_unexpected();
648
21.1k
        }
649
21.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
21.6k
    {
643
21.6k
        if (has_value()) {
644
532
            destroy_value();
645
532
        }
646
21.1k
        else {
647
21.1k
            destroy_unexpected();
648
21.1k
        }
649
21.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
24
    {
643
24
        if (has_value()) {
644
0
            destroy_value();
645
0
        }
646
24
        else {
647
24
            destroy_unexpected();
648
24
        }
649
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
20
    {
643
20
        if (has_value()) {
644
0
            destroy_value();
645
0
        }
646
20
        else {
647
20
            destroy_unexpected();
648
20
        }
649
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
52
    {
643
52
        if (has_value()) {
644
8
            destroy_value();
645
8
        }
646
44
        else {
647
44
            destroy_unexpected();
648
44
        }
649
52
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
48
    {
643
48
        if (has_value()) {
644
8
            destroy_value();
645
8
        }
646
40
        else {
647
40
            destroy_unexpected();
648
40
        }
649
48
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
650
651
    constexpr T& get_value() & noexcept
652
35.6k
    {
653
35.6k
        return *value_ptr();
654
35.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
6.19k
    {
653
6.19k
        return *value_ptr();
654
6.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
6.19k
    {
653
6.19k
        return *value_ptr();
654
6.19k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
11.6k
    {
653
11.6k
        return *value_ptr();
654
11.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
11.6k
    {
653
11.6k
        return *value_ptr();
654
11.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
8
    {
653
8
        return *value_ptr();
654
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
8
    {
653
8
        return *value_ptr();
654
8
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
655
    constexpr const T& get_value() const& noexcept
656
    {
657
        return *value_ptr();
658
    }
659
    constexpr T&& get_value() && noexcept
660
0
    {
661
0
        return std::move(*value_ptr());
662
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
663
    constexpr const T&& get_value() const&& noexcept
664
    {
665
        return std::move(*value_ptr());
666
    }
667
668
    constexpr unexpected<E>& get_unexpected() & noexcept
669
128
    {
670
128
        return *unexpected_ptr();
671
128
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
24
    {
670
24
        return *unexpected_ptr();
671
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
20
    {
670
20
        return *unexpected_ptr();
671
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
44
    {
670
44
        return *unexpected_ptr();
671
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
40
    {
670
40
        return *unexpected_ptr();
671
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
672
    constexpr const unexpected<E>& get_unexpected() const& noexcept
673
    {
674
        return *unexpected_ptr();
675
    }
676
    constexpr unexpected<E>&& get_unexpected() && noexcept
677
30.9k
    {
678
30.9k
        return std::move(*unexpected_ptr());
679
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
4.89k
    {
678
4.89k
        return std::move(*unexpected_ptr());
679
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
4.89k
    {
678
4.89k
        return std::move(*unexpected_ptr());
679
4.89k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
10.5k
    {
678
10.5k
        return std::move(*unexpected_ptr());
679
10.5k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::get_unexpected() &&
Line
Count
Source
677
10.5k
    {
678
10.5k
        return std::move(*unexpected_ptr());
679
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
680
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
681
    {
682
        return std::move(*unexpected_ptr());
683
    }
684
685
    SCN_NODISCARD constexpr bool has_value() const noexcept
686
162k
    {
687
162k
        return m_has_value;
688
162k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
26.4k
    {
687
26.4k
        return m_has_value;
688
26.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
26.4k
    {
687
26.4k
        return m_has_value;
688
26.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
54.3k
    {
687
54.3k
        return m_has_value;
688
54.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
54.3k
    {
687
54.3k
        return m_has_value;
688
54.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
72
    {
687
72
        return m_has_value;
688
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
60
    {
687
60
        return m_has_value;
688
60
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
156
    {
687
156
        return m_has_value;
688
156
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
144
    {
687
144
        return m_has_value;
688
144
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
689
690
    template <typename... Args>
691
    void construct(Args&&... args) noexcept(
692
        std::is_nothrow_constructible_v<T, Args...>)
693
33.2k
    {
694
33.2k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
33.2k
        m_has_value = true;
696
33.2k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
5.54k
    {
694
5.54k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
5.54k
        m_has_value = true;
696
5.54k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
5.54k
    {
694
5.54k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
5.54k
        m_has_value = true;
696
5.54k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
11.0k
    {
694
11.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
11.0k
        m_has_value = true;
696
11.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<>()
Line
Count
Source
693
11.0k
    {
694
11.0k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
11.0k
        m_has_value = true;
696
11.0k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
8
    {
694
8
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
8
        m_has_value = true;
696
8
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
8
    {
694
8
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
8
        m_has_value = true;
696
8
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
697
    template <typename... Args>
698
    void construct_unexpected(Args&&... args) noexcept(
699
        std::is_nothrow_constructible_v<E, Args...>)
700
61.9k
    {
701
61.9k
        scn::detail::construct_at(unexpected_ptr(),
702
61.9k
                                  std::forward<Args>(args)...);
703
61.9k
        m_has_value = false;
704
61.9k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
4.89k
    {
701
4.89k
        scn::detail::construct_at(unexpected_ptr(),
702
4.89k
                                  std::forward<Args>(args)...);
703
4.89k
        m_has_value = false;
704
4.89k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
4.89k
    {
701
4.89k
        scn::detail::construct_at(unexpected_ptr(),
702
4.89k
                                  std::forward<Args>(args)...);
703
4.89k
        m_has_value = false;
704
4.89k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
4.89k
    {
701
4.89k
        scn::detail::construct_at(unexpected_ptr(),
702
4.89k
                                  std::forward<Args>(args)...);
703
4.89k
        m_has_value = false;
704
4.89k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
4.89k
    {
701
4.89k
        scn::detail::construct_at(unexpected_ptr(),
702
4.89k
                                  std::forward<Args>(args)...);
703
4.89k
        m_has_value = false;
704
4.89k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
10.5k
    {
701
10.5k
        scn::detail::construct_at(unexpected_ptr(),
702
10.5k
                                  std::forward<Args>(args)...);
703
10.5k
        m_has_value = false;
704
10.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
10.5k
    {
701
10.5k
        scn::detail::construct_at(unexpected_ptr(),
702
10.5k
                                  std::forward<Args>(args)...);
703
10.5k
        m_has_value = false;
704
10.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
10.5k
    {
701
10.5k
        scn::detail::construct_at(unexpected_ptr(),
702
10.5k
                                  std::forward<Args>(args)...);
703
10.5k
        m_has_value = false;
704
10.5k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
700
10.5k
    {
701
10.5k
        scn::detail::construct_at(unexpected_ptr(),
702
10.5k
                                  std::forward<Args>(args)...);
703
10.5k
        m_has_value = false;
704
10.5k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
24
    {
701
24
        scn::detail::construct_at(unexpected_ptr(),
702
24
                                  std::forward<Args>(args)...);
703
24
        m_has_value = false;
704
24
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
20
    {
701
20
        scn::detail::construct_at(unexpected_ptr(),
702
20
                                  std::forward<Args>(args)...);
703
20
        m_has_value = false;
704
20
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
44
    {
701
44
        scn::detail::construct_at(unexpected_ptr(),
702
44
                                  std::forward<Args>(args)...);
703
44
        m_has_value = false;
704
44
    }
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
40
    {
701
40
        scn::detail::construct_at(unexpected_ptr(),
702
40
                                  std::forward<Args>(args)...);
703
40
        m_has_value = false;
704
40
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
705
706
    void destroy_value() noexcept
707
33.2k
    {
708
33.2k
        scn::detail::destroy_at(value_ptr());
709
33.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
5.54k
    {
708
5.54k
        scn::detail::destroy_at(value_ptr());
709
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
5.54k
    {
708
5.54k
        scn::detail::destroy_at(value_ptr());
709
5.54k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
11.0k
    {
708
11.0k
        scn::detail::destroy_at(value_ptr());
709
11.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
11.0k
    {
708
11.0k
        scn::detail::destroy_at(value_ptr());
709
11.0k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
8
    {
708
8
        scn::detail::destroy_at(value_ptr());
709
8
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
8
    {
708
8
        scn::detail::destroy_at(value_ptr());
709
8
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
710
    void destroy_unexpected() noexcept
711
61.9k
    {
712
61.9k
        scn::detail::destroy_at(unexpected_ptr());
713
61.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
9.79k
    {
712
9.79k
        scn::detail::destroy_at(unexpected_ptr());
713
9.79k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
9.79k
    {
712
9.79k
        scn::detail::destroy_at(unexpected_ptr());
713
9.79k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
21.1k
    {
712
21.1k
        scn::detail::destroy_at(unexpected_ptr());
713
21.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
21.1k
    {
712
21.1k
        scn::detail::destroy_at(unexpected_ptr());
713
21.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
24
    {
712
24
        scn::detail::destroy_at(unexpected_ptr());
713
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
20
    {
712
20
        scn::detail::destroy_at(unexpected_ptr());
713
20
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
44
    {
712
44
        scn::detail::destroy_at(unexpected_ptr());
713
44
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
40
    {
712
40
        scn::detail::destroy_at(unexpected_ptr());
713
40
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
714
715
private:
716
    T* value_ptr() noexcept
717
102k
    {
718
102k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
102k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
17.2k
    {
718
17.2k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
17.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
17.2k
    {
718
17.2k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
17.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
33.7k
    {
718
33.7k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
33.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
33.7k
    {
718
33.7k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
33.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
24
    {
718
24
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
24
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
24
    {
718
24
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
24
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
720
    const T* value_ptr() const noexcept
721
    {
722
        return reinterpret_cast<const T*>(
723
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
724
    }
725
726
    SCN_GCC_PUSH
727
    SCN_GCC_IGNORE("-Wcast-align")
728
    unexpected<E>* unexpected_ptr() noexcept
729
154k
    {
730
154k
        return reinterpret_cast<unexpected<E>*>(
731
154k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
154k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
24.4k
    {
730
24.4k
        return reinterpret_cast<unexpected<E>*>(
731
24.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
24.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
24.4k
    {
730
24.4k
        return reinterpret_cast<unexpected<E>*>(
731
24.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
24.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
52.7k
    {
730
52.7k
        return reinterpret_cast<unexpected<E>*>(
731
52.7k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
52.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
52.7k
    {
730
52.7k
        return reinterpret_cast<unexpected<E>*>(
731
52.7k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
52.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
72
    {
730
72
        return reinterpret_cast<unexpected<E>*>(
731
72
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
72
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
60
    {
730
60
        return reinterpret_cast<unexpected<E>*>(
731
60
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
60
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
132
    {
730
132
        return reinterpret_cast<unexpected<E>*>(
731
132
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
132
    }
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
120
    {
730
120
        return reinterpret_cast<unexpected<E>*>(
731
120
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
120
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
733
    const unexpected<E>* unexpected_ptr() const noexcept
734
    {
735
        return reinterpret_cast<const unexpected<E>*>(
736
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
737
    }
738
    SCN_GCC_POP
739
740
    static constexpr std::size_t required_size =
741
        detail::max(sizeof(T), sizeof(unexpected<E>));
742
    static constexpr std::size_t required_alignment =
743
        detail::max(alignof(T), alignof(unexpected<E>));
744
745
    alignas(required_alignment) unsigned char m_memory[required_size];
746
    bool m_has_value;
747
};
748
749
template <typename E>
750
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
751
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
752
753
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
754
        : m_has_value(false)
755
    {
756
    }
757
758
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
759
        : m_has_value(true)
760
    {
761
    }
762
763
    template <typename... Args,
764
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
765
    explicit constexpr expected_storage_base(
766
        unexpect_t,
767
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
768
        : m_has_value(false)
769
    {
770
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
771
    }
772
773
    ~expected_storage_base()
774
    {
775
        if (!has_value()) {
776
            destroy_unexpected();
777
        }
778
    }
779
780
    constexpr unexpected<E>& get_unexpected() & noexcept
781
    {
782
        return *unexpected_ptr();
783
    }
784
    constexpr const unexpected<E>& get_unexpected() const& noexcept
785
    {
786
        return *unexpected_ptr();
787
    }
788
    constexpr unexpected<E>&& get_unexpected() && noexcept
789
    {
790
        return std::move(*unexpected_ptr());
791
    }
792
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
793
    {
794
        return std::move(*unexpected_ptr());
795
    }
796
797
    SCN_NODISCARD constexpr bool has_value() const noexcept
798
    {
799
        return m_has_value;
800
    }
801
802
    template <typename... Args>
803
    constexpr void construct(Args&&...) noexcept
804
    {
805
        m_has_value = true;
806
    }
807
    template <typename... Args>
808
    void construct_unexpected(Args&&... args) noexcept(
809
        std::is_nothrow_constructible_v<E, Args...>)
810
    {
811
        scn::detail::construct_at(unexpected_ptr(),
812
                                  std::forward<Args>(args)...);
813
        m_has_value = false;
814
    }
815
816
    static constexpr void destroy_value() noexcept {}
817
    void destroy_unexpected() noexcept
818
    {
819
        scn::detail::destroy_at(unexpected_ptr());
820
    }
821
822
private:
823
    SCN_GCC_PUSH
824
    SCN_GCC_IGNORE("-Wcast-align")
825
    unexpected<E>* unexpected_ptr()
826
    {
827
        return reinterpret_cast<unexpected<E>*>(m_memory);
828
    }
829
    const unexpected<E>* unexpected_ptr() const
830
    {
831
        return reinterpret_cast<const unexpected<E>*>(m_memory);
832
    }
833
    SCN_GCC_POP
834
835
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
836
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
837
838
    alignas(required_alignment) unsigned char m_memory[required_size];
839
    bool m_has_value;
840
};
841
842
template <typename T, typename U>
843
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
844
845
template <typename T, typename E, typename Enable = void>
846
struct expected_operations_base;
847
848
template <typename T, typename E>
849
struct SCN_TRIVIAL_ABI expected_operations_base<
850
    T,
851
    E,
852
    std::enable_if_t<(
853
        std::is_void_v<T> ||
854
        std::is_trivially_copyable_v<T>)&&std::is_trivially_copyable_v<E>>>
855
    : expected_storage_base<T, E> {
856
    using expected_storage_base<T, E>::expected_storage_base;
857
};
858
859
template <typename T, typename E>
860
struct SCN_TRIVIAL_ABI expected_operations_base<
861
    T,
862
    E,
863
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
864
                                            !std::is_trivially_copyable_v<E>)>>
865
    : expected_storage_base<T, E> {
866
    using expected_storage_base<T, E>::expected_storage_base;
867
868
    expected_operations_base(const expected_operations_base& other) noexcept(
869
        std::is_nothrow_copy_constructible_v<T> &&
870
        std::is_nothrow_copy_constructible_v<E>)
871
        : expected_storage_base<T, E>(deferred_init_tag)
872
    {
873
        construct_common(other);
874
    }
875
    expected_operations_base(expected_operations_base&& other) noexcept(
876
        std::is_nothrow_move_constructible_v<T> &&
877
        std::is_nothrow_move_constructible_v<E>)
878
        : expected_storage_base<T, E>(deferred_init_tag)
879
    {
880
        construct_common(std::move(other));
881
    }
882
883
    expected_operations_base& operator=(const expected_operations_base& other)
884
    // gcc 11 and lower evaluate noexcept in a weird context
885
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
886
        noexcept(noexcept(
887
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
888
#else
889
        noexcept(noexcept(assign_common(other)))
890
#endif
891
    {
892
        assign_common(other);
893
        return *this;
894
    }
895
    expected_operations_base& operator=(expected_operations_base&& other)
896
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
897
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
898
                              .assign_common(std::move(other))))
899
#else
900
        noexcept(noexcept(assign_common(std::move(other))))
901
#endif
902
145k
    {
903
145k
        assign_common(std::move(other));
904
145k
        return *this;
905
145k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.27k
    {
903
5.27k
        assign_common(std::move(other));
904
5.27k
        return *this;
905
5.27k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.54k
    {
903
5.54k
        assign_common(std::move(other));
904
5.54k
        return *this;
905
5.54k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.54k
    {
903
5.54k
        assign_common(std::move(other));
904
5.54k
        return *this;
905
5.54k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.54k
    {
903
5.54k
        assign_common(std::move(other));
904
5.54k
        return *this;
905
5.54k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.54k
    {
903
5.54k
        assign_common(std::move(other));
904
5.54k
        return *this;
905
5.54k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
5.54k
    {
903
5.54k
        assign_common(std::move(other));
904
5.54k
        return *this;
905
5.54k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
4.89k
    {
903
4.89k
        assign_common(std::move(other));
904
4.89k
        return *this;
905
4.89k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
4.89k
    {
903
4.89k
        assign_common(std::move(other));
904
4.89k
        return *this;
905
4.89k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
4.89k
    {
903
4.89k
        assign_common(std::move(other));
904
4.89k
        return *this;
905
4.89k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.8k
    {
903
10.8k
        assign_common(std::move(other));
904
10.8k
        return *this;
905
10.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
902
11.0k
    {
903
11.0k
        assign_common(std::move(other));
904
11.0k
        return *this;
905
11.0k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.5k
    {
903
10.5k
        assign_common(std::move(other));
904
10.5k
        return *this;
905
10.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.5k
    {
903
10.5k
        assign_common(std::move(other));
904
10.5k
        return *this;
905
10.5k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
902
10.5k
    {
903
10.5k
        assign_common(std::move(other));
904
10.5k
        return *this;
905
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
906
907
    ~expected_operations_base() = default;
908
909
private:
910
    template <typename Other>
911
    void construct_common(Other&& other) noexcept(
912
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
913
                     .construct(std::forward<Other>(other).get_value())) &&
914
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
915
                     .construct_unexpected(
916
                         std::forward<Other>(other).get_unexpected())))
917
0
    {
918
0
        if (other.has_value()) {
919
0
            this->construct(std::forward<Other>(other).get_value());
920
0
        }
921
0
        else {
922
0
            this->construct_unexpected(
923
0
                std::forward<Other>(other).get_unexpected());
924
0
        }
925
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
926
927
    template <typename Other>
928
    void assign_common(Other&& other)
929
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
930
        noexcept(
931
            noexcept(SCN_DECLVAL(expected_operations_base&)
932
                         .reassign_value(std::forward<Other>(other))) &&
933
            noexcept(SCN_DECLVAL(expected_operations_base&)
934
                         .reassign_unexpected(std::forward<Other>(other))) &&
935
            noexcept(SCN_DECLVAL(expected_operations_base&)
936
                         .assign_value_over_unexpected(
937
                             std::forward<Other>(other))) &&
938
            noexcept(
939
                SCN_DECLVAL(expected_operations_base&)
940
                    .assign_unexpected_over_value(std::forward<Other>(other))))
941
#else
942
        noexcept(
943
            noexcept(reassign_value(std::forward<Other>(other))) &&
944
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
945
            noexcept(
946
                assign_value_over_unexpected(std::forward<Other>(other))) &&
947
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
948
#endif
949
145k
    {
950
145k
        if (this->has_value()) {
951
145k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
145k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
145k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.27k
    {
950
5.27k
        if (this->has_value()) {
951
5.27k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.27k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.27k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.54k
    {
950
5.54k
        if (this->has_value()) {
951
5.54k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.54k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.54k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.54k
    {
950
5.54k
        if (this->has_value()) {
951
5.54k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.54k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.54k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.54k
    {
950
5.54k
        if (this->has_value()) {
951
5.54k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.54k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.54k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.54k
    {
950
5.54k
        if (this->has_value()) {
951
5.54k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.54k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.54k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
5.54k
    {
950
5.54k
        if (this->has_value()) {
951
5.54k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
5.54k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
5.54k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
4.89k
    {
950
4.89k
        if (this->has_value()) {
951
4.89k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
4.89k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
4.89k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
4.89k
    {
950
4.89k
        if (this->has_value()) {
951
4.89k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
4.89k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
4.89k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
4.89k
    {
950
4.89k
        if (this->has_value()) {
951
4.89k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
4.89k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
4.89k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.8k
    {
950
10.8k
        if (this->has_value()) {
951
10.8k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.8k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
949
11.0k
    {
950
11.0k
        if (this->has_value()) {
951
11.0k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
11.0k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
11.0k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.5k
    {
950
10.5k
        if (this->has_value()) {
951
10.5k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.5k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.5k
    {
950
10.5k
        if (this->has_value()) {
951
10.5k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.5k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
949
10.5k
    {
950
10.5k
        if (this->has_value()) {
951
10.5k
            if (other.has_value()) {
952
0
                return reassign_value(std::forward<Other>(other));
953
0
            }
954
10.5k
            return assign_unexpected_over_value(std::forward<Other>(other));
955
10.5k
        }
956
957
0
        if (other.has_value()) {
958
0
            return assign_value_over_unexpected(std::forward<Other>(other));
959
0
        }
960
0
        return reassign_unexpected(std::forward<Other>(other));
961
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
962
963
    template <typename Other>
964
    void reassign_value(Other&& other) noexcept(
965
        std::is_nothrow_assignable_v<
966
            T,
967
            decltype(std::forward<Other>(other).get_value())>)
968
0
    {
969
0
        this->get_value() = std::forward<Other>(other).get_value();
970
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
971
972
    template <typename Other>
973
    void reassign_unexpected(Other&& other) noexcept(
974
        std::is_nothrow_assignable_v<
975
            E,
976
            decltype(std::forward<Other>(other).get_unexpected())>)
977
0
    {
978
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
979
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
980
981
#if SCN_HAS_EXCEPTIONS
982
    void assign_value_over_unexpected(
983
        const expected_operations_base&
984
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
985
                            std::is_nothrow_move_constructible_v<T>)
986
    {
987
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
988
            this->destroy_unexpected();
989
            this->construct(other.get_value());
990
        }
991
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
992
            T tmp = other.get_value();
993
            this->destroy_unexpected();
994
            this->construct(std::move(tmp));
995
        }
996
        else {
997
            auto tmp = std::move(this->get_unexpecetd());
998
            this->destroy_unexpected();
999
1000
            try {
1001
                this->construct(other.get());
1002
            }
1003
            catch (...) {
1004
                this->construct_unexpected(std::move(tmp));
1005
                throw;
1006
            }
1007
        }
1008
    }
1009
1010
    void
1011
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1012
        std::is_nothrow_move_constructible_v<T>)
1013
0
    {
1014
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1015
0
            this->destroy_unexpected();
1016
0
            this->construct(std::move(other).get_value());
1017
        }
1018
        else {
1019
            auto tmp = std::move(this->get_unexpected());
1020
            this->destroy_unexpected();
1021
1022
            try {
1023
                this->construct(std::move(other).get_value());
1024
            }
1025
            catch (...) {
1026
                this->construct_unexpected(std::move(tmp));
1027
                throw;
1028
            }
1029
        }
1030
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1031
#else
1032
    template <typename Other>
1033
    void assing_value_over_unexpected(Other&& other) noexcept
1034
    {
1035
        this->destroy_unexpected();
1036
        this->construct_value(std::forward<Other>(other).get_value());
1037
    }
1038
#endif
1039
1040
    template <typename Other>
1041
    void assign_unexpected_over_value(Other&& other) noexcept(
1042
        std::is_nothrow_constructible_v<
1043
            E,
1044
            decltype(std::forward<Other>(other).get_unexpected())>)
1045
145k
    {
1046
145k
        this->destroy_value();
1047
145k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
145k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.27k
    {
1046
5.27k
        this->destroy_value();
1047
5.27k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.27k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.54k
    {
1046
5.54k
        this->destroy_value();
1047
5.54k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.54k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.54k
    {
1046
5.54k
        this->destroy_value();
1047
5.54k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.54k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.54k
    {
1046
5.54k
        this->destroy_value();
1047
5.54k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.54k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.54k
    {
1046
5.54k
        this->destroy_value();
1047
5.54k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.54k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
5.54k
    {
1046
5.54k
        this->destroy_value();
1047
5.54k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
5.54k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
4.89k
    {
1046
4.89k
        this->destroy_value();
1047
4.89k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
4.89k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
4.89k
    {
1046
4.89k
        this->destroy_value();
1047
4.89k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
4.89k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
4.89k
    {
1046
4.89k
        this->destroy_value();
1047
4.89k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
4.89k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.8k
    {
1046
10.8k
        this->destroy_value();
1047
10.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
11.0k
    {
1046
11.0k
        this->destroy_value();
1047
11.0k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
11.0k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.5k
    {
1046
10.5k
        this->destroy_value();
1047
10.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.5k
    {
1046
10.5k
        this->destroy_value();
1047
10.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.5k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, void>&&)
Line
Count
Source
1045
10.5k
    {
1046
10.5k
        this->destroy_value();
1047
10.5k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1048
10.5k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1049
};
1050
1051
template <typename E>
1052
struct SCN_TRIVIAL_ABI
1053
    expected_operations_base<void,
1054
                             E,
1055
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1056
    : expected_storage_base<void, E> {
1057
    using expected_storage_base<void, E>::expected_storage_base;
1058
1059
    expected_operations_base(const expected_operations_base& other) noexcept(
1060
        std::is_nothrow_copy_constructible_v<E>)
1061
        : expected_storage_base<void, E>(deferred_init_tag)
1062
    {
1063
        construct_common(other);
1064
    }
1065
    expected_operations_base(expected_operations_base&& other) noexcept(
1066
        std::is_nothrow_move_constructible_v<E>)
1067
        : expected_storage_base<void, E>(deferred_init_tag)
1068
    {
1069
        construct_common(std::move(other));
1070
    }
1071
1072
    expected_operations_base& operator=(const expected_operations_base& other)
1073
    // gcc 11 and lower evaluate noexcept in a weird context
1074
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1075
        noexcept(noexcept(
1076
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1077
#else
1078
        noexcept(noexcept(assign_common(other)))
1079
#endif
1080
    {
1081
        assign_common(other);
1082
        return *this;
1083
    }
1084
    expected_operations_base& operator=(expected_operations_base&& other)
1085
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1086
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1087
                              .assign_common(std::move(other))))
1088
#else
1089
        noexcept(noexcept(assign_common(std::move(other))))
1090
#endif
1091
    {
1092
        assign_common(std::move(other));
1093
        return *this;
1094
    }
1095
1096
    ~expected_operations_base() = default;
1097
1098
private:
1099
    template <typename Other>
1100
    void construct_common(Other&& other) noexcept(
1101
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1102
            std::forward<Other>(other).get_unexpected())))
1103
    {
1104
        if (other.has_value()) {
1105
            this->construct();
1106
        }
1107
        else {
1108
            this->construct_unexpected(
1109
                std::forward<Other>(other).get_unexpected());
1110
        }
1111
    }
1112
1113
    template <typename Other>
1114
    void assign_common(Other&& other)
1115
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1116
        noexcept(
1117
            noexcept(SCN_DECLVAL(expected_operations_base&)
1118
                         .reassign_unexpected(std::forward<Other>(other))) &&
1119
            noexcept(
1120
                SCN_DECLVAL(expected_operations_base&)
1121
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1122
#else
1123
        noexcept(
1124
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1125
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1126
#endif
1127
    {
1128
        if (this->has_value()) {
1129
            if (other.has_value()) {
1130
                return reassign_value();
1131
            }
1132
            return assign_unexpected_over_value(std::forward<Other>(other));
1133
        }
1134
1135
        if (other.has_value()) {
1136
            return assign_value_over_unexpected();
1137
        }
1138
        return reassign_unexpected(std::forward<Other>(other));
1139
    }
1140
1141
    void reassign_value() noexcept {}
1142
1143
    template <typename Other>
1144
    void reassign_unexpected(Other&& other) noexcept(
1145
        std::is_nothrow_assignable_v<
1146
            E,
1147
            decltype(std::forward<Other>(other).get_unexpected())>)
1148
    {
1149
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1150
    }
1151
1152
    void assign_value_over_unexpected() noexcept
1153
    {
1154
        this->destroy_unexpected();
1155
        this->construct();
1156
    }
1157
1158
    template <typename Other>
1159
    void assign_unexpected_over_value(Other&& other) noexcept(
1160
        std::is_nothrow_constructible_v<
1161
            E,
1162
            decltype(std::forward<Other>(other).get_unexpected())>)
1163
    {
1164
        this->destroy_value();
1165
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1166
    }
1167
};
1168
1169
/*
1170
 * Base class trickery to conditionally mark copy and move
1171
 * constructors of an expected as =deleted.
1172
 *
1173
 * We need to do this, because otherwise utilities like
1174
 * std::is_copy_constructible wouldn't work for expected: the
1175
 * constructors need to be explicitly =deleted, not just cause a
1176
 * compiler error when trying to copy a value of a non-copyable
1177
 * type.
1178
 *
1179
 * Rationale for doing this with base classes is above.
1180
 */
1181
template <
1182
    typename T,
1183
    typename E,
1184
    bool EnableCopy = ((std::is_copy_constructible_v<T> ||
1185
                        std::is_void_v<T>)&&std::is_copy_constructible_v<E>),
1186
    bool EnableMove = ((std::is_move_constructible_v<T> ||
1187
                        std::is_void_v<T>)&&std::is_move_constructible_v<E>)>
1188
struct expected_delete_ctor_base;
1189
1190
// Implementation for types that are both copy and move
1191
// constructible: Copy and move constructors are =defaulted
1192
template <typename T, typename E>
1193
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1194
    expected_delete_ctor_base() = default;
1195
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1196
        default;
1197
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1198
    ~expected_delete_ctor_base() = default;
1199
1200
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1201
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1202
};
1203
1204
// Implementation for types that are neither copy nor move
1205
// constructible: Copy and move constructors are =deleted
1206
template <typename T, typename E>
1207
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1208
    expected_delete_ctor_base() = default;
1209
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1210
        default;
1211
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1212
    ~expected_delete_ctor_base() = default;
1213
1214
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1215
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1216
};
1217
1218
// Implementation for types that are move constructible, but not
1219
// copy constructible Copy constructor is =deleted, but move
1220
// constructor is =defaulted
1221
template <typename T, typename E>
1222
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1223
    expected_delete_ctor_base() = default;
1224
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1225
        default;
1226
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1227
    ~expected_delete_ctor_base() = default;
1228
1229
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1230
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1231
};
1232
1233
template <typename T, typename E>
1234
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1235
    static_assert(dependent_false<T>::value,
1236
                  "Nonsensical type: copy constructible, but not move "
1237
                  "constructible");
1238
};
1239
1240
// Same as above, but for assignment
1241
template <
1242
    typename T,
1243
    typename E,
1244
    bool EnableCopy = ((std::is_copy_constructible_v<T> ||
1245
                        std::is_void_v<T>)&&std::is_copy_constructible_v<E> &&
1246
                       (std::is_copy_assignable_v<T> ||
1247
                        std::is_void_v<T>)&&std::is_copy_assignable_v<E>),
1248
    bool EnableMove = ((std::is_move_constructible_v<T> ||
1249
                        std::is_void_v<T>)&&std::is_move_constructible_v<E> &&
1250
                       (std::is_move_assignable_v<T> ||
1251
                        std::is_void_v<T>)&&std::is_move_assignable_v<E>)>
1252
struct expected_delete_assign_base;
1253
1254
template <typename T, typename E>
1255
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1256
    expected_delete_assign_base() = default;
1257
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1258
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1259
    ~expected_delete_assign_base() = default;
1260
1261
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1262
        default;
1263
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1264
        default;
1265
};
1266
1267
template <typename T, typename E>
1268
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1269
    expected_delete_assign_base() = default;
1270
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1271
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1272
    ~expected_delete_assign_base() = default;
1273
1274
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1275
        delete;
1276
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1277
        delete;
1278
};
1279
1280
template <typename T, typename E>
1281
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1282
    expected_delete_assign_base() = default;
1283
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1284
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1285
    ~expected_delete_assign_base() = default;
1286
1287
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1288
        delete;
1289
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1290
        default;
1291
};
1292
1293
template <typename T, typename E>
1294
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1295
    static_assert(dependent_false<T>::value,
1296
                  "Nonsensical type: copy assignable, but not move "
1297
                  "assignable");
1298
};
1299
1300
struct non_default_ctor_tag_t {};
1301
1302
/*
1303
 * Same as above, but for the default constructor
1304
 *
1305
 * The constructor taking a non_default_ctor_tag_t is needed, to
1306
 * signal that we're not default constructing.
1307
 */
1308
template <typename T,
1309
          typename E,
1310
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1311
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1312
    constexpr expected_default_ctor_base() = default;
1313
    constexpr explicit expected_default_ctor_base(
1314
        non_default_ctor_tag_t) noexcept
1315
1.05M
    {
1316
1.05M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.27k
    {
1316
5.27k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
49.8k
    {
1316
49.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.54k
    {
1316
5.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.54k
    {
1316
5.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.54k
    {
1316
5.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.54k
    {
1316
5.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
5.54k
    {
1316
5.54k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.89k
    {
1316
4.89k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.89k
    {
1316
4.89k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.89k
    {
1316
4.89k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.8k
    {
1316
10.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
99.7k
    {
1316
99.7k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
11.0k
    {
1316
11.0k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.5k
    {
1316
10.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.5k
    {
1316
10.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.5k
    {
1316
10.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
153k
    {
1316
153k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
55.3k
    {
1316
55.3k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
39.4k
    {
1316
39.4k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
307k
    {
1316
307k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
50.5k
    {
1316
50.5k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
10.9k
    {
1316
10.9k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.82k
    {
1316
4.82k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
9.55k
    {
1316
9.55k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
9.24k
    {
1316
9.24k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
8.61k
    {
1316
8.61k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.40k
    {
1316
1.40k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.04k
    {
1316
1.04k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.04k
    {
1316
1.04k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
24
    {
1316
24
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
14.4k
    {
1316
14.4k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.69k
    {
1316
3.69k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.76k
    {
1316
2.76k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.76k
    {
1316
2.76k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
20
    {
1316
20
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
360
    {
1316
360
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
926
    {
1316
926
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
19.3k
    {
1316
19.3k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.07k
    {
1316
3.07k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.43k
    {
1316
2.43k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.99k
    {
1316
4.99k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
6.52k
    {
1316
6.52k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
4.71k
    {
1316
4.71k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
784
    {
1316
784
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
596
    {
1316
596
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
596
    {
1316
596
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
52
    {
1316
52
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
17.7k
    {
1316
17.7k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.64k
    {
1316
3.64k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.70k
    {
1316
2.70k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.70k
    {
1316
2.70k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
48
    {
1316
48
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
188
    {
1316
188
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
940
    {
1316
940
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
3.51k
    {
1316
3.51k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
2.22k
    {
1316
2.22k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.18k
    {
1316
1.18k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1315
1.18k
    {
1316
1.18k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1317
};
1318
template <typename T, typename E>
1319
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1320
    constexpr expected_default_ctor_base() = delete;
1321
    constexpr explicit expected_default_ctor_base(
1322
        non_default_ctor_tag_t) noexcept
1323
    {
1324
    }
1325
};
1326
1327
template <typename T>
1328
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1329
1330
template <typename T>
1331
struct is_expected_impl : std::false_type {};
1332
template <typename T, typename E>
1333
struct is_expected_impl<expected<T, E>> : std::true_type {};
1334
template <typename T>
1335
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1336
1337
template <typename Exp>
1338
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1339
1340
template <typename Exp>
1341
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1342
1343
template <
1344
    typename F,
1345
    typename... Args,
1346
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1347
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1348
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1349
5.87k
{
1350
5.87k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
5.87k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1349
338
{
1350
338
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
338
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1349
1.05k
{
1350
1.05k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
1.05k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1349
1.50k
{
1350
1.50k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
1.50k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Line
Count
Source
1349
2.97k
{
1350
2.97k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1351
2.97k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1352
1353
// and_then
1354
1355
template <typename Exp,
1356
          typename F,
1357
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1358
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1359
                                                 *SCN_DECLVAL(Exp)))>
1360
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1361
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1362
    std::is_nothrow_constructible_v<Ret,
1363
                                    unexpect_t,
1364
                                    decltype(std::forward<Exp>(exp).error())>)
1365
{
1366
    static_assert(is_expected<Ret>::value, "F must return an expected");
1367
1368
    return SCN_LIKELY(exp.has_value())
1369
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1370
               : Ret(unexpect, std::forward<Exp>(exp).error());
1371
}
1372
template <typename Exp,
1373
          typename F,
1374
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1375
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1376
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1377
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1378
    std::is_nothrow_constructible_v<Ret,
1379
                                    unexpect_t,
1380
                                    decltype(std::forward<Exp>(exp).error())>)
1381
{
1382
    static_assert(is_expected<Ret>::value, "F must return an expected");
1383
1384
    return SCN_LIKELY(exp.has_value())
1385
               ? trivial_invoke(std::forward<F>(f))
1386
               : Ret(unexpect, std::forward<Exp>(exp).error());
1387
}
1388
1389
// or_else
1390
1391
template <typename Exp,
1392
          typename F,
1393
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1394
                                                 SCN_DECLVAL(Exp).error()))>
1395
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1396
    noexcept(trivial_invoke(std::forward<F>(f),
1397
                            std::forward<Exp>(exp).error())) &&
1398
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1399
{
1400
    static_assert(is_expected<Ret>::value, "F must return an expected");
1401
1402
    return SCN_LIKELY(exp.has_value())
1403
               ? Ret(std::forward<Exp>(exp))
1404
               : trivial_invoke(std::forward<F>(f),
1405
                                std::forward<Exp>(exp).error());
1406
}
1407
1408
// transform
1409
1410
template <typename Exp,
1411
          typename F,
1412
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1413
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1414
                                                 *SCN_DECLVAL(Exp)))>
1415
constexpr auto transform_impl(Exp&& exp, F&& f)
1416
{
1417
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1418
    if constexpr (std::is_void_v<Ret>) {
1419
        if (SCN_LIKELY(exp.has_value())) {
1420
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1421
            return result();
1422
        }
1423
        return result(unexpect, std::forward<Exp>(exp).error());
1424
    }
1425
    else {
1426
        return SCN_LIKELY(exp.has_value())
1427
                   ? result(trivial_invoke(std::forward<F>(f),
1428
                                           *std::forward<Exp>(exp)))
1429
                   : result(unexpect, std::forward<Exp>(exp).error());
1430
    }
1431
}
1432
template <typename Exp,
1433
          typename F,
1434
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1435
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1436
constexpr auto transform_impl(Exp&& exp, F&& f)
1437
{
1438
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1439
    if constexpr (std::is_void_v<Ret>) {
1440
        if (SCN_LIKELY(exp.has_value())) {
1441
            trivial_invoke(std::forward<F>(f));
1442
            return result();
1443
        }
1444
        return result(unexpect, std::forward<Exp>(exp).error());
1445
    }
1446
    else {
1447
        return SCN_LIKELY(exp.has_value())
1448
                   ? result(trivial_invoke(std::forward<F>(f)))
1449
                   : result(unexpect, std::forward<Exp>(exp).error());
1450
    }
1451
}
1452
1453
// transform_error
1454
1455
template <typename Exp,
1456
          typename F,
1457
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1458
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1459
                                                 SCN_DECLVAL(Exp).error()))>
1460
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1461
46.8k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
46.8k
    else {
1472
46.8k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
46.8k
        return SCN_LIKELY(exp.has_value())
1474
46.8k
                   ? result(*std::forward<Exp>(exp))
1475
46.8k
                   : result(unexpect,
1476
5.87k
                            trivial_invoke(std::forward<F>(f),
1477
5.87k
                                           std::forward<Exp>(exp).error()));
1478
46.8k
    }
1479
46.8k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
8.46k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
8.46k
    else {
1472
8.46k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
8.46k
        return SCN_LIKELY(exp.has_value())
1474
8.46k
                   ? result(*std::forward<Exp>(exp))
1475
8.46k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
8.46k
    }
1479
8.46k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
894
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
894
    else {
1472
894
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
894
        return SCN_LIKELY(exp.has_value())
1474
894
                   ? result(*std::forward<Exp>(exp))
1475
894
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
894
    }
1479
894
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
2.33k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.33k
    else {
1472
2.33k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.33k
        return SCN_LIKELY(exp.has_value())
1474
2.33k
                   ? result(*std::forward<Exp>(exp))
1475
2.33k
                   : result(unexpect,
1476
444
                            trivial_invoke(std::forward<F>(f),
1477
444
                                           std::forward<Exp>(exp).error()));
1478
2.33k
    }
1479
2.33k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1461
1.04k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.04k
    else {
1472
1.04k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.04k
        return SCN_LIKELY(exp.has_value())
1474
1.04k
                   ? result(*std::forward<Exp>(exp))
1475
1.04k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
1.04k
    }
1479
1.04k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
1.02k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.02k
    else {
1472
1.02k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.02k
        return SCN_LIKELY(exp.has_value())
1474
1.02k
                   ? result(*std::forward<Exp>(exp))
1475
1.02k
                   : result(unexpect,
1476
1.02k
                            trivial_invoke(std::forward<F>(f),
1477
1.02k
                                           std::forward<Exp>(exp).error()));
1478
1.02k
    }
1479
1.02k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1461
2.76k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.76k
    else {
1472
2.76k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.76k
        return SCN_LIKELY(exp.has_value())
1474
2.76k
                   ? result(*std::forward<Exp>(exp))
1475
2.76k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
2.76k
    }
1479
2.76k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1461
360
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
360
    else {
1472
360
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
360
        return SCN_LIKELY(exp.has_value())
1474
360
                   ? result(*std::forward<Exp>(exp))
1475
360
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
360
    }
1479
360
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Line
Count
Source
1461
720
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
720
    else {
1472
720
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
720
        return SCN_LIKELY(exp.has_value())
1474
720
                   ? result(*std::forward<Exp>(exp))
1475
720
                   : result(unexpect,
1476
720
                            trivial_invoke(std::forward<F>(f),
1477
720
                                           std::forward<Exp>(exp).error()));
1478
720
    }
1479
720
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1461
926
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
926
    else {
1472
926
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
926
        return SCN_LIKELY(exp.has_value())
1474
926
                   ? result(*std::forward<Exp>(exp))
1475
926
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
926
    }
1479
926
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1461
948
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
948
    else {
1472
948
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
948
        return SCN_LIKELY(exp.has_value())
1474
948
                   ? result(*std::forward<Exp>(exp))
1475
948
                   : result(unexpect,
1476
948
                            trivial_invoke(std::forward<F>(f),
1477
948
                                           std::forward<Exp>(exp).error()));
1478
948
    }
1479
948
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
578
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
578
    else {
1472
578
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
578
        return SCN_LIKELY(exp.has_value())
1474
578
                   ? result(*std::forward<Exp>(exp))
1475
578
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
578
    }
1479
578
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
8.23k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
8.23k
    else {
1472
8.23k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
8.23k
        return SCN_LIKELY(exp.has_value())
1474
8.23k
                   ? result(*std::forward<Exp>(exp))
1475
8.23k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
8.23k
    }
1479
8.23k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1461
1.22k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.22k
    else {
1472
1.22k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.22k
        return SCN_LIKELY(exp.has_value())
1474
1.22k
                   ? result(*std::forward<Exp>(exp))
1475
1.22k
                   : result(unexpect,
1476
326
                            trivial_invoke(std::forward<F>(f),
1477
326
                                           std::forward<Exp>(exp).error()));
1478
1.22k
    }
1479
1.22k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Line
Count
Source
1461
596
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
596
    else {
1472
596
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
596
        return SCN_LIKELY(exp.has_value())
1474
596
                   ? result(*std::forward<Exp>(exp))
1475
596
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
596
    }
1479
596
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Line
Count
Source
1461
526
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
526
    else {
1472
526
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
526
        return SCN_LIKELY(exp.has_value())
1474
526
                   ? result(*std::forward<Exp>(exp))
1475
526
                   : result(unexpect,
1476
476
                            trivial_invoke(std::forward<F>(f),
1477
476
                                           std::forward<Exp>(exp).error()));
1478
526
    }
1479
526
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
5.60k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
5.60k
    else {
1472
5.60k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
5.60k
        return SCN_LIKELY(exp.has_value())
1474
5.60k
                   ? result(*std::forward<Exp>(exp))
1475
5.60k
                   : result(unexpect,
1476
184
                            trivial_invoke(std::forward<F>(f),
1477
184
                                           std::forward<Exp>(exp).error()));
1478
5.60k
    }
1479
5.60k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1461
2.70k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.70k
    else {
1472
2.70k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.70k
        return SCN_LIKELY(exp.has_value())
1474
2.70k
                   ? result(*std::forward<Exp>(exp))
1475
2.70k
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
2.70k
    }
1479
2.70k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Line
Count
Source
1461
188
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
188
    else {
1472
188
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
188
        return SCN_LIKELY(exp.has_value())
1474
188
                   ? result(*std::forward<Exp>(exp))
1475
188
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
188
    }
1479
188
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Line
Count
Source
1461
352
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
352
    else {
1472
352
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
352
        return SCN_LIKELY(exp.has_value())
1474
352
                   ? result(*std::forward<Exp>(exp))
1475
352
                   : result(unexpect,
1476
352
                            trivial_invoke(std::forward<F>(f),
1477
352
                                           std::forward<Exp>(exp).error()));
1478
352
    }
1479
352
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Line
Count
Source
1461
940
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
940
    else {
1472
940
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
940
        return SCN_LIKELY(exp.has_value())
1474
940
                   ? result(*std::forward<Exp>(exp))
1475
940
                   : result(unexpect,
1476
0
                            trivial_invoke(std::forward<F>(f),
1477
0
                                           std::forward<Exp>(exp).error()));
1478
940
    }
1479
940
}
_ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1461
956
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
956
    else {
1472
956
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
956
        return SCN_LIKELY(exp.has_value())
1474
956
                   ? result(*std::forward<Exp>(exp))
1475
956
                   : result(unexpect,
1476
956
                            trivial_invoke(std::forward<F>(f),
1477
956
                                           std::forward<Exp>(exp).error()));
1478
956
    }
1479
956
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1461
2.07k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.07k
    else {
1472
2.07k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.07k
        return SCN_LIKELY(exp.has_value())
1474
2.07k
                   ? result(*std::forward<Exp>(exp))
1475
2.07k
                   : result(unexpect,
1476
102
                            trivial_invoke(std::forward<F>(f),
1477
102
                                           std::forward<Exp>(exp).error()));
1478
2.07k
    }
1479
2.07k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1461
2.22k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
2.22k
    else {
1472
2.22k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
2.22k
        return SCN_LIKELY(exp.has_value())
1474
2.22k
                   ? result(*std::forward<Exp>(exp))
1475
2.22k
                   : result(unexpect,
1476
222
                            trivial_invoke(std::forward<F>(f),
1477
222
                                           std::forward<Exp>(exp).error()));
1478
2.22k
    }
1479
2.22k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Line
Count
Source
1461
1.18k
{
1462
    if constexpr (std::is_void_v<Ret>) {
1463
        using result = expected<expected_value_type<Exp>, monostate>;
1464
        if (SCN_LIKELY(exp.has_value())) {
1465
            return result(*std::forward<Exp>(exp));
1466
        }
1467
1468
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1469
        return result(unexpect, monostate{});
1470
    }
1471
1.18k
    else {
1472
1.18k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1473
1.18k
        return SCN_LIKELY(exp.has_value())
1474
1.18k
                   ? result(*std::forward<Exp>(exp))
1475
1.18k
                   : result(unexpect,
1476
116
                            trivial_invoke(std::forward<F>(f),
1477
116
                                           std::forward<Exp>(exp).error()));
1478
1.18k
    }
1479
1.18k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1480
template <typename Exp,
1481
          typename F,
1482
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1483
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1484
                                                 SCN_DECLVAL(Exp).error()))>
1485
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1486
{
1487
    if constexpr (std::is_void_v<Ret>) {
1488
        using result = expected<expected_value_type<Exp>, monostate>;
1489
        if (SCN_LIKELY(exp.has_value())) {
1490
            return result();
1491
        }
1492
1493
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1494
        return result(unexpect, monostate{});
1495
    }
1496
    else {
1497
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1498
        return SCN_LIKELY(exp.has_value())
1499
                   ? result()
1500
                   : result(unexpect,
1501
                            trivial_invoke(std::forward<F>(f),
1502
                                           std::forward<Exp>(exp).error()));
1503
    }
1504
}
1505
1506
template <class T, class E, class U, class G, class UR, class GR>
1507
using enable_from_other =
1508
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1509
                     std::is_constructible_v<E, GR> &&
1510
                     !std::is_constructible_v<T, expected<U, G>&> &&
1511
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1512
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1513
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1514
                     !std::is_convertible_v<expected<U, G>&, T> &&
1515
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1516
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1517
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1518
}  // namespace detail
1519
1520
/**
1521
 * \see `std::expected`
1522
 */
1523
template <typename T, typename E>
1524
class SCN_TRIVIAL_ABI expected
1525
    : private detail::expected_operations_base<T, E>,
1526
      private detail::expected_delete_ctor_base<T, E>,
1527
      private detail::expected_delete_assign_base<T, E>,
1528
      private detail::expected_default_ctor_base<T, E> {
1529
    using base = detail::expected_operations_base<T, E>;
1530
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1531
1532
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1533
                  "T must be void or Destructible");
1534
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1535
1536
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1537
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1538
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1539
1540
public:
1541
    using value_type = T;
1542
    using error_type = E;
1543
    using unexpected_type = unexpected<E>;
1544
1545
    template <typename U>
1546
    using rebind = expected<U, error_type>;
1547
1548
    // Special member functions are defaulted, implementations provided
1549
    // by base classes
1550
1551
525k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
5.54k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::expected()
Line
Count
Source
1551
11.0k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1551
375k
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1552
1553
    constexpr expected(const expected&) = default;
1554
    constexpr expected(expected&&) = default;
1555
    constexpr expected& operator=(const expected&) = default;
1556
145k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.27k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.54k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.54k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.54k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.54k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1556
5.54k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
4.89k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
4.89k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
4.89k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>&&)
Line
Count
Source
1556
11.0k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.5k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>&&)
Line
Count
Source
1556
10.5k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1557
1558
    ~expected() = default;
1559
1560
    /**
1561
     * Construct an expected value.
1562
     * Intentionally non-explicit, to make constructing an expected
1563
     * value as transparent as possible.
1564
     */
1565
    template <typename U = value_type,
1566
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1567
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1568
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1569
206k
        : base(std::in_place, std::forward<U>(val)),
1570
206k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
206k
    {
1572
206k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1569
2.20k
        : base(std::in_place, std::forward<U>(val)),
1570
2.20k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.20k
    {
1572
2.20k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
2.02k
        : base(std::in_place, std::forward<U>(val)),
1570
2.02k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.02k
    {
1572
2.02k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
21.4k
        : base(std::in_place, std::forward<U>(val)),
1570
21.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
21.4k
    {
1572
21.4k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
19.2k
        : base(std::in_place, std::forward<U>(val)),
1570
19.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
19.2k
    {
1572
19.2k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
50.0k
        : base(std::in_place, std::forward<U>(val)),
1570
50.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
50.0k
    {
1572
50.0k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
10.4k
        : base(std::in_place, std::forward<U>(val)),
1570
10.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
10.4k
    {
1572
10.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
1569
4.60k
        : base(std::in_place, std::forward<U>(val)),
1570
4.60k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
4.60k
    {
1572
4.60k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
2.63k
        : base(std::in_place, std::forward<U>(val)),
1570
2.63k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.63k
    {
1572
2.63k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1569
9.24k
        : base(std::in_place, std::forward<U>(val)),
1570
9.24k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
9.24k
    {
1572
9.24k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
1.40k
        : base(std::in_place, std::forward<U>(val)),
1570
1.40k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.40k
    {
1572
1.40k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1569
1.89k
        : base(std::in_place, std::forward<U>(val)),
1570
1.89k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.89k
    {
1572
1.89k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1569
1.04k
        : base(std::in_place, std::forward<U>(val)),
1570
1.04k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.04k
    {
1572
1.04k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1569
1.04k
        : base(std::in_place, std::forward<U>(val)),
1570
1.04k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.04k
    {
1572
1.04k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
3.69k
        : base(std::in_place, std::forward<U>(val)),
1570
3.69k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
3.69k
    {
1572
3.69k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1569
1.97k
        : base(std::in_place, std::forward<U>(val)),
1570
1.97k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.97k
    {
1572
1.97k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1569
2.76k
        : base(std::in_place, std::forward<U>(val)),
1570
2.76k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.76k
    {
1572
2.76k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1569
2.76k
        : base(std::in_place, std::forward<U>(val)),
1570
2.76k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.76k
    {
1572
2.76k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1569
4.43k
        : base(std::in_place, std::forward<U>(val)),
1570
4.43k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
4.43k
    {
1572
4.43k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
360
        : base(std::in_place, std::forward<U>(val)),
1570
360
          ctor_base(detail::non_default_ctor_tag_t{})
1571
360
    {
1572
360
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
926
        : base(std::in_place, std::forward<U>(val)),
1570
926
          ctor_base(detail::non_default_ctor_tag_t{})
1571
926
    {
1572
926
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1569
804
        : base(std::in_place, std::forward<U>(val)),
1570
804
          ctor_base(detail::non_default_ctor_tag_t{})
1571
804
    {
1572
804
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1569
1.42k
        : base(std::in_place, std::forward<U>(val)),
1570
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.42k
    {
1572
1.42k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
19.1k
        : base(std::in_place, std::forward<U>(val)),
1570
19.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
19.1k
    {
1572
19.1k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
2.73k
        : base(std::in_place, std::forward<U>(val)),
1570
2.73k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.73k
    {
1572
2.73k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
1569
2.31k
        : base(std::in_place, std::forward<U>(val)),
1570
2.31k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.31k
    {
1572
2.31k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
1.82k
        : base(std::in_place, std::forward<U>(val)),
1570
1.82k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.82k
    {
1572
1.82k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1569
6.52k
        : base(std::in_place, std::forward<U>(val)),
1570
6.52k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
6.52k
    {
1572
6.52k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1569
62
        : base(std::in_place, std::forward<U>(val)),
1570
62
          ctor_base(detail::non_default_ctor_tag_t{})
1571
62
    {
1572
62
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
784
        : base(std::in_place, std::forward<U>(val)),
1570
784
          ctor_base(detail::non_default_ctor_tag_t{})
1571
784
    {
1572
784
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1569
972
        : base(std::in_place, std::forward<U>(val)),
1570
972
          ctor_base(detail::non_default_ctor_tag_t{})
1571
972
    {
1572
972
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1569
596
        : base(std::in_place, std::forward<U>(val)),
1570
596
          ctor_base(detail::non_default_ctor_tag_t{})
1571
596
    {
1572
596
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1569
596
        : base(std::in_place, std::forward<U>(val)),
1570
596
          ctor_base(detail::non_default_ctor_tag_t{})
1571
596
    {
1572
596
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1569
8
        : base(std::in_place, std::forward<U>(val)),
1570
8
          ctor_base(detail::non_default_ctor_tag_t{})
1571
8
    {
1572
8
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1569
68
        : base(std::in_place, std::forward<U>(val)),
1570
68
          ctor_base(detail::non_default_ctor_tag_t{})
1571
68
    {
1572
68
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
3.64k
        : base(std::in_place, std::forward<U>(val)),
1570
3.64k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
3.64k
    {
1572
3.64k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1569
5.42k
        : base(std::in_place, std::forward<U>(val)),
1570
5.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
5.42k
    {
1572
5.42k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1569
2.70k
        : base(std::in_place, std::forward<U>(val)),
1570
2.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.70k
    {
1572
2.70k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1569
2.70k
        : base(std::in_place, std::forward<U>(val)),
1570
2.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
2.70k
    {
1572
2.70k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1569
8
        : base(std::in_place, std::forward<U>(val)),
1570
8
          ctor_base(detail::non_default_ctor_tag_t{})
1571
8
    {
1572
8
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
188
        : base(std::in_place, std::forward<U>(val)),
1570
188
          ctor_base(detail::non_default_ctor_tag_t{})
1571
188
    {
1572
188
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Line
Count
Source
1569
52
        : base(std::in_place, std::forward<U>(val)),
1570
52
          ctor_base(detail::non_default_ctor_tag_t{})
1571
52
    {
1572
52
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1569
940
        : base(std::in_place, std::forward<U>(val)),
1570
940
          ctor_base(detail::non_default_ctor_tag_t{})
1571
940
    {
1572
940
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1569
72
        : base(std::in_place, std::forward<U>(val)),
1570
72
          ctor_base(detail::non_default_ctor_tag_t{})
1571
72
    {
1572
72
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
1569
498
        : base(std::in_place, std::forward<U>(val)),
1570
498
          ctor_base(detail::non_default_ctor_tag_t{})
1571
498
    {
1572
498
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1569
528
        : base(std::in_place, std::forward<U>(val)),
1570
528
          ctor_base(detail::non_default_ctor_tag_t{})
1571
528
    {
1572
528
    }
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<int, void>(int&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1569
3.14k
        : base(std::in_place, std::forward<U>(val)),
1570
3.14k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
3.14k
    {
1572
3.14k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1569
1.99k
        : base(std::in_place, std::forward<U>(val)),
1570
1.99k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.99k
    {
1572
1.99k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1569
1.07k
        : base(std::in_place, std::forward<U>(val)),
1570
1.07k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.07k
    {
1572
1.07k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1569
1.07k
        : base(std::in_place, std::forward<U>(val)),
1570
1.07k
          ctor_base(detail::non_default_ctor_tag_t{})
1571
1.07k
    {
1572
1.07k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1573
1574
    /// Construct an expected value directly in-place
1575
    template <typename... Args,
1576
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1577
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1578
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1579
        : base(std::in_place, std::forward<Args>(args)...),
1580
          ctor_base(detail::non_default_ctor_tag_t{})
1581
    {
1582
    }
1583
1584
    template <typename G = E,
1585
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1586
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1587
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1588
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1589
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1590
    {
1591
    }
1592
    template <typename G = E,
1593
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1594
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1595
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1596
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1597
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1598
    {
1599
    }
1600
1601
    template <typename G = E,
1602
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1603
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1604
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1605
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1606
        : base(unexpect, std::move(e.error())),
1607
          ctor_base(detail::non_default_ctor_tag_t{})
1608
    {
1609
    }
1610
    template <typename G = E,
1611
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1612
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1613
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1614
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1615
840k
        : base(unexpect, std::move(e.error())),
1616
840k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
840k
    {
1618
840k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.27k
        : base(unexpect, std::move(e.error())),
1616
5.27k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.27k
    {
1618
5.27k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
47.6k
        : base(unexpect, std::move(e.error())),
1616
47.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
47.6k
    {
1618
47.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.54k
        : base(unexpect, std::move(e.error())),
1616
5.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.54k
    {
1618
5.54k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.54k
        : base(unexpect, std::move(e.error())),
1616
5.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.54k
    {
1618
5.54k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.54k
        : base(unexpect, std::move(e.error())),
1616
5.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.54k
    {
1618
5.54k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
5.54k
        : base(unexpect, std::move(e.error())),
1616
5.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.54k
    {
1618
5.54k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
5.54k
        : base(unexpect, std::move(e.error())),
1616
5.54k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.54k
    {
1618
5.54k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
4.89k
        : base(unexpect, std::move(e.error())),
1616
4.89k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
4.89k
    {
1618
4.89k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
4.89k
        : base(unexpect, std::move(e.error())),
1616
4.89k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
4.89k
    {
1618
4.89k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
4.89k
        : base(unexpect, std::move(e.error())),
1616
4.89k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
4.89k
    {
1618
4.89k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
10.8k
        : base(unexpect, std::move(e.error())),
1616
10.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.8k
    {
1618
10.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
97.7k
        : base(unexpect, std::move(e.error())),
1616
97.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
97.7k
    {
1618
97.7k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELSA_0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSA_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
11.0k
        : base(unexpect, std::move(e.error())),
1616
11.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.0k
    {
1618
11.0k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
10.5k
        : base(unexpect, std::move(e.error())),
1616
10.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.5k
    {
1618
10.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1615
10.5k
        : base(unexpect, std::move(e.error())),
1616
10.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.5k
    {
1618
10.5k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEEC2ISG_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
10.5k
        : base(unexpect, std::move(e.error())),
1616
10.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.5k
    {
1618
10.5k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1615
148k
        : base(unexpect, std::move(e.error())),
1616
148k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
148k
    {
1618
148k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1615
31.5k
        : base(unexpect, std::move(e.error())),
1616
31.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
31.5k
    {
1618
31.5k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1615
18.6k
        : base(unexpect, std::move(e.error())),
1616
18.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
18.6k
    {
1618
18.6k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1615
307k
        : base(unexpect, std::move(e.error())),
1616
307k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
307k
    {
1618
307k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
570
        : base(unexpect, std::move(e.error())),
1616
570
          ctor_base(detail::non_default_ctor_tag_t{})
1617
570
    {
1618
570
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
514
        : base(unexpect, std::move(e.error())),
1616
514
          ctor_base(detail::non_default_ctor_tag_t{})
1617
514
    {
1618
514
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1615
222
        : base(unexpect, std::move(e.error())),
1616
222
          ctor_base(detail::non_default_ctor_tag_t{})
1617
222
    {
1618
222
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
4.36k
        : base(unexpect, std::move(e.error())),
1616
4.36k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
4.36k
    {
1618
4.36k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
804
        : base(unexpect, std::move(e.error())),
1616
804
          ctor_base(detail::non_default_ctor_tag_t{})
1617
804
    {
1618
804
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
5.47k
        : base(unexpect, std::move(e.error())),
1616
5.47k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
5.47k
    {
1618
5.47k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1615
24
        : base(unexpect, std::move(e.error())),
1616
24
          ctor_base(detail::non_default_ctor_tag_t{})
1617
24
    {
1618
24
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
1.03k
        : base(unexpect, std::move(e.error())),
1616
1.03k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.03k
    {
1618
1.03k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1615
11.3k
        : base(unexpect, std::move(e.error())),
1616
11.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
11.3k
    {
1618
11.3k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1615
20
        : base(unexpect, std::move(e.error())),
1616
20
          ctor_base(detail::non_default_ctor_tag_t{})
1617
20
    {
1618
20
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
184
        : base(unexpect, std::move(e.error())),
1616
184
          ctor_base(detail::non_default_ctor_tag_t{})
1617
184
    {
1618
184
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
340
        : base(unexpect, std::move(e.error())),
1616
340
          ctor_base(detail::non_default_ctor_tag_t{})
1617
340
    {
1618
340
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
_ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Line
Count
Source
1615
116
        : base(unexpect, std::move(e.error())),
1616
116
          ctor_base(detail::non_default_ctor_tag_t{})
1617
116
    {
1618
116
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
1.79k
        : base(unexpect, std::move(e.error())),
1616
1.79k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.79k
    {
1618
1.79k
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1615
528
        : base(unexpect, std::move(e.error())),
1616
528
          ctor_base(detail::non_default_ctor_tag_t{})
1617
528
    {
1618
528
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1615
2.83k
        : base(unexpect, std::move(e.error())),
1616
2.83k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
2.83k
    {
1618
2.83k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
Line
Count
Source
1615
44
        : base(unexpect, std::move(e.error())),
1616
44
          ctor_base(detail::non_default_ctor_tag_t{})
1617
44
    {
1618
44
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1615
1.12k
        : base(unexpect, std::move(e.error())),
1616
1.12k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
1.12k
    {
1618
1.12k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1615
10.9k
        : base(unexpect, std::move(e.error())),
1616
10.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1617
10.9k
    {
1618
10.9k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1615
40
        : base(unexpect, std::move(e.error())),
1616
40
          ctor_base(detail::non_default_ctor_tag_t{})
1617
40
    {
1618
40
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1615
366
        : base(unexpect, std::move(e.error())),
1616
366
          ctor_base(detail::non_default_ctor_tag_t{})
1617
366
    {
1618
366
    }
_ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Line
Count
Source
1615
116
        : base(unexpect, std::move(e.error())),
1616
116
          ctor_base(detail::non_default_ctor_tag_t{})
1617
116
    {
1618
116
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
1619
1620
    /// Construct an unexpected value directly in-place
1621
    template <typename... Args,
1622
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1623
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1624
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1625
5.87k
        : base(unexpect, std::forward<Args>(args)...),
1626
5.87k
          ctor_base(detail::non_default_ctor_tag_t{})
1627
5.87k
    {
1628
5.87k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
948
        : base(unexpect, std::forward<Args>(args)...),
1626
948
          ctor_base(detail::non_default_ctor_tag_t{})
1627
948
    {
1628
948
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
1.74k
        : base(unexpect, std::forward<Args>(args)...),
1626
1.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1627
1.74k
    {
1628
1.74k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
444
        : base(unexpect, std::forward<Args>(args)...),
1626
444
          ctor_base(detail::non_default_ctor_tag_t{})
1627
444
    {
1628
444
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
828
        : base(unexpect, std::forward<Args>(args)...),
1626
828
          ctor_base(detail::non_default_ctor_tag_t{})
1627
828
    {
1628
828
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
956
        : base(unexpect, std::forward<Args>(args)...),
1626
956
          ctor_base(detail::non_default_ctor_tag_t{})
1627
956
    {
1628
956
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
326
        : base(unexpect, std::forward<Args>(args)...),
1626
326
          ctor_base(detail::non_default_ctor_tag_t{})
1627
326
    {
1628
326
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
184
        : base(unexpect, std::forward<Args>(args)...),
1626
184
          ctor_base(detail::non_default_ctor_tag_t{})
1627
184
    {
1628
184
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1625
102
        : base(unexpect, std::forward<Args>(args)...),
1626
102
          ctor_base(detail::non_default_ctor_tag_t{})
1627
102
    {
1628
102
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
222
        : base(unexpect, std::forward<Args>(args)...),
1626
222
          ctor_base(detail::non_default_ctor_tag_t{})
1627
222
    {
1628
222
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1625
116
        : base(unexpect, std::forward<Args>(args)...),
1626
116
          ctor_base(detail::non_default_ctor_tag_t{})
1627
116
    {
1628
116
    }
1629
1630
    template <
1631
        typename U,
1632
        typename G,
1633
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1634
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1635
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1636
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1637
        std::is_nothrow_constructible_v<T, const U&> &&
1638
        std::is_nothrow_constructible_v<E, const G&>)
1639
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1640
    {
1641
        if (other.has_value()) {
1642
            this->construct(*other);
1643
        }
1644
        else {
1645
            this->construct_unexpected(other.error());
1646
        }
1647
    }
1648
    template <
1649
        typename U,
1650
        typename G,
1651
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1652
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1653
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1654
    constexpr expected(const expected<U, G>& other) noexcept(
1655
        std::is_nothrow_constructible_v<T, const U&> &&
1656
        std::is_nothrow_constructible_v<E, const G&>)
1657
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1658
    {
1659
        if (other.has_value()) {
1660
            this->construct(*other);
1661
        }
1662
        else {
1663
            this->construct_unexpected(other.error());
1664
        }
1665
    }
1666
1667
    template <typename U,
1668
              typename G,
1669
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1670
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1671
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1672
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1673
        std::is_nothrow_constructible_v<T, U&&> &&
1674
        std::is_nothrow_constructible_v<E, G&&>)
1675
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1676
    {
1677
        if (other.has_value()) {
1678
            this->construct(std::move(*other));
1679
        }
1680
        else {
1681
            this->construct_unexpected(std::move(other.error()));
1682
        }
1683
    }
1684
    template <typename U,
1685
              typename G,
1686
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1687
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1688
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1689
    constexpr expected(expected<U, G>&& other) noexcept(
1690
        std::is_nothrow_constructible_v<T, U&&> &&
1691
        std::is_nothrow_constructible_v<E, G&&>)
1692
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1693
    {
1694
        if (other.has_value()) {
1695
            this->construct(std::move(*other));
1696
        }
1697
        else {
1698
            this->construct_unexpected(std::move(other.error()));
1699
        }
1700
    }
1701
1702
    template <typename U = value_type,
1703
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1704
    expected& operator=(U&& val) noexcept(
1705
        noexcept(assign_value(std::forward<U>(val))))
1706
    {
1707
        assign_value(std::forward<U>(val));
1708
        return *this;
1709
    }
1710
1711
    expected& operator=(const unexpected_type& unex) noexcept(
1712
        noexcept(assign_unexpected(unex)))
1713
    {
1714
        assign_unexpected(unex);
1715
        return *this;
1716
    }
1717
    expected& operator=(unexpected_type&& unex) noexcept(
1718
        noexcept(assign_unexpected(std::move(unex))))
1719
    {
1720
        assign_unexpected(std::move(unex));
1721
        return *this;
1722
    }
1723
1724
    /// Destroys the contained value, and then initializes the expected
1725
    /// value directly in-place.
1726
    template <typename... Args,
1727
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1728
    decltype(auto) emplace(Args&&... args) noexcept(
1729
        std::is_nothrow_constructible_v<T, Args...>)
1730
    {
1731
        emplace_impl(std::forward<Args>(args)...);
1732
        if constexpr (!std::is_void_v<T>) {
1733
            return this->get_value();
1734
        }
1735
    }
1736
1737
    using base::has_value;
1738
    constexpr explicit operator bool() const noexcept
1739
2.50M
    {
1740
2.50M
        return has_value();
1741
2.50M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
49.8k
    {
1740
49.8k
        return has_value();
1741
49.8k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
155k
    {
1740
155k
        return has_value();
1741
155k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
99.7k
    {
1740
99.7k
        return has_value();
1741
99.7k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
1.94M
    {
1740
1.94M
        return has_value();
1741
1.94M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
56.3k
    {
1740
56.3k
        return has_value();
1741
56.3k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
40.4k
    {
1740
40.4k
        return has_value();
1741
40.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
40.0k
    {
1740
40.0k
        return has_value();
1741
40.0k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
7.73k
    {
1740
7.73k
        return has_value();
1741
7.73k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
4.82k
    {
1740
4.82k
        return has_value();
1741
4.82k
    }
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
9.24k
    {
1740
9.24k
        return has_value();
1741
9.24k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
7.95k
    {
1740
7.95k
        return has_value();
1741
7.95k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
1.04k
    {
1740
1.04k
        return has_value();
1741
1.04k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
1.04k
    {
1740
1.04k
        return has_value();
1741
1.04k
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
24
    {
1740
24
        return has_value();
1741
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
9.91k
    {
1740
9.91k
        return has_value();
1741
9.91k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
15.3k
    {
1740
15.3k
        return has_value();
1741
15.3k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
2.76k
    {
1740
2.76k
        return has_value();
1741
2.76k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.76k
    {
1740
2.76k
        return has_value();
1741
2.76k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
20
    {
1740
20
        return has_value();
1741
20
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
360
    {
1740
360
        return has_value();
1741
360
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
926
    {
1740
926
        return has_value();
1741
926
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
5.49k
    {
1740
5.49k
        return has_value();
1741
5.49k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
1.27k
    {
1740
1.27k
        return has_value();
1741
1.27k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.43k
    {
1740
2.43k
        return has_value();
1741
2.43k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
6.52k
    {
1740
6.52k
        return has_value();
1741
6.52k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
4.38k
    {
1740
4.38k
        return has_value();
1741
4.38k
    }
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
596
    {
1740
596
        return has_value();
1741
596
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
596
    {
1740
596
        return has_value();
1741
596
    }
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
52
    {
1740
52
        return has_value();
1741
52
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
5.18k
    {
1740
5.18k
        return has_value();
1741
5.18k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1739
18.6k
    {
1740
18.6k
        return has_value();
1741
18.6k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
2.70k
    {
1740
2.70k
        return has_value();
1741
2.70k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.70k
    {
1740
2.70k
        return has_value();
1741
2.70k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
48
    {
1740
48
        return has_value();
1741
48
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
188
    {
1740
188
        return has_value();
1741
188
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
940
    {
1740
940
        return has_value();
1741
940
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1739
1.29k
    {
1740
1.29k
        return has_value();
1741
1.29k
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
2.22k
    {
1740
2.22k
        return has_value();
1741
2.22k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1739
1.18k
    {
1740
1.18k
        return has_value();
1741
1.18k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1742
1743
    /// Get the unexpected value, if one is contained in *this
1744
    constexpr error_type& error() & noexcept
1745
534k
    {
1746
534k
        SCN_EXPECT(!has_value());
1747
534k
        return this->get_unexpected().error();
1748
534k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
47.6k
    {
1746
47.6k
        SCN_EXPECT(!has_value());
1747
47.6k
        return this->get_unexpected().error();
1748
47.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1745
152k
    {
1746
152k
        SCN_EXPECT(!has_value());
1747
152k
        return this->get_unexpected().error();
1748
152k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
97.7k
    {
1746
97.7k
        SCN_EXPECT(!has_value());
1747
97.7k
        return this->get_unexpected().error();
1748
97.7k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1745
161k
    {
1746
161k
        SCN_EXPECT(!has_value());
1747
161k
        return this->get_unexpected().error();
1748
161k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1745
31.5k
    {
1746
31.5k
        SCN_EXPECT(!has_value());
1747
31.5k
        return this->get_unexpected().error();
1748
31.5k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1745
18.6k
    {
1746
18.6k
        SCN_EXPECT(!has_value());
1747
18.6k
        return this->get_unexpected().error();
1748
18.6k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
222
    {
1746
222
        SCN_EXPECT(!has_value());
1747
222
        return this->get_unexpected().error();
1748
222
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
2.93k
    {
1746
2.93k
        SCN_EXPECT(!has_value());
1747
2.93k
        return this->get_unexpected().error();
1748
2.93k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
24
    {
1746
24
        SCN_EXPECT(!has_value());
1747
24
        return this->get_unexpected().error();
1748
24
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
5.75k
    {
1746
5.75k
        SCN_EXPECT(!has_value());
1747
5.75k
        return this->get_unexpected().error();
1748
5.75k
    }
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
5.66k
    {
1746
5.66k
        SCN_EXPECT(!has_value());
1747
5.66k
        return this->get_unexpected().error();
1748
5.66k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
20
    {
1746
20
        SCN_EXPECT(!has_value());
1747
20
        return this->get_unexpected().error();
1748
20
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
116
    {
1746
116
        SCN_EXPECT(!has_value());
1747
116
        return this->get_unexpected().error();
1748
116
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1745
14
    {
1746
14
        SCN_EXPECT(!has_value());
1747
14
        return this->get_unexpected().error();
1748
14
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
1.65k
    {
1746
1.65k
        SCN_EXPECT(!has_value());
1747
1.65k
        return this->get_unexpected().error();
1748
1.65k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
44
    {
1746
44
        SCN_EXPECT(!has_value());
1747
44
        return this->get_unexpected().error();
1748
44
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1745
2.43k
    {
1746
2.43k
        SCN_EXPECT(!has_value());
1747
2.43k
        return this->get_unexpected().error();
1748
2.43k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1745
5.72k
    {
1746
5.72k
        SCN_EXPECT(!has_value());
1747
5.72k
        return this->get_unexpected().error();
1748
5.72k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
40
    {
1746
40
        SCN_EXPECT(!has_value());
1747
40
        return this->get_unexpected().error();
1748
40
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
222
    {
1746
222
        SCN_EXPECT(!has_value());
1747
222
        return this->get_unexpected().error();
1748
222
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Line
Count
Source
1745
116
    {
1746
116
        SCN_EXPECT(!has_value());
1747
116
        return this->get_unexpected().error();
1748
116
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1749
    constexpr const error_type& error() const& noexcept
1750
0
    {
1751
0
        SCN_EXPECT(!has_value());
1752
0
        return this->get_unexpected().error();
1753
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1754
    constexpr error_type&& error() && noexcept
1755
7.37k
    {
1756
7.37k
        SCN_EXPECT(!has_value());
1757
7.37k
        return std::move(this->get_unexpected().error());
1758
7.37k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1755
4.47k
    {
1756
4.47k
        SCN_EXPECT(!has_value());
1757
4.47k
        return std::move(this->get_unexpected().error());
1758
4.47k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
102
    {
1756
102
        SCN_EXPECT(!has_value());
1757
102
        return std::move(this->get_unexpected().error());
1758
102
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
444
    {
1756
444
        SCN_EXPECT(!has_value());
1757
444
        return std::move(this->get_unexpected().error());
1758
444
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1755
1.02k
    {
1756
1.02k
        SCN_EXPECT(!has_value());
1757
1.02k
        return std::move(this->get_unexpected().error());
1758
1.02k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
326
    {
1756
326
        SCN_EXPECT(!has_value());
1757
326
        return std::move(this->get_unexpected().error());
1758
326
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
184
    {
1756
184
        SCN_EXPECT(!has_value());
1757
184
        return std::move(this->get_unexpected().error());
1758
184
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1755
476
    {
1756
476
        SCN_EXPECT(!has_value());
1757
476
        return std::move(this->get_unexpected().error());
1758
476
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
222
    {
1756
222
        SCN_EXPECT(!has_value());
1757
222
        return std::move(this->get_unexpected().error());
1758
222
    }
scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1755
116
    {
1756
116
        SCN_EXPECT(!has_value());
1757
116
        return std::move(this->get_unexpected().error());
1758
116
    }
1759
    constexpr const error_type&& error() const&& noexcept
1760
    {
1761
        SCN_EXPECT(!has_value());
1762
        return std::move(this->get_unexpected().error());
1763
    }
1764
1765
    /// Get the expected value, if one is contained in *this
1766
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1767
    constexpr U& value() & noexcept
1768
345k
    {
1769
345k
        SCN_EXPECT(has_value());
1770
345k
        return this->get_value();
1771
345k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1768
2.20k
    {
1769
2.20k
        SCN_EXPECT(has_value());
1770
2.20k
        return this->get_value();
1771
2.20k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1768
4.43k
    {
1769
4.43k
        SCN_EXPECT(has_value());
1770
4.43k
        return this->get_value();
1771
4.43k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.81k
    {
1769
5.81k
        SCN_EXPECT(has_value());
1770
5.81k
        return this->get_value();
1771
5.81k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.54k
    {
1769
5.54k
        SCN_EXPECT(has_value());
1770
5.54k
        return this->get_value();
1771
5.54k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.54k
    {
1769
5.54k
        SCN_EXPECT(has_value());
1770
5.54k
        return this->get_value();
1771
5.54k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.54k
    {
1769
5.54k
        SCN_EXPECT(has_value());
1770
5.54k
        return this->get_value();
1771
5.54k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
5.54k
    {
1769
5.54k
        SCN_EXPECT(has_value());
1770
5.54k
        return this->get_value();
1771
5.54k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1768
5.54k
    {
1769
5.54k
        SCN_EXPECT(has_value());
1770
5.54k
        return this->get_value();
1771
5.54k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
6.19k
    {
1769
6.19k
        SCN_EXPECT(has_value());
1770
6.19k
        return this->get_value();
1771
6.19k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
6.19k
    {
1769
6.19k
        SCN_EXPECT(has_value());
1770
6.19k
        return this->get_value();
1771
6.19k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
6.19k
    {
1769
6.19k
        SCN_EXPECT(has_value());
1770
6.19k
        return this->get_value();
1771
6.19k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1768
2.02k
    {
1769
2.02k
        SCN_EXPECT(has_value());
1770
2.02k
        return this->get_value();
1771
2.02k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.3k
    {
1769
11.3k
        SCN_EXPECT(has_value());
1770
11.3k
        return this->get_value();
1771
11.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.1k
    {
1769
11.1k
        SCN_EXPECT(has_value());
1770
11.1k
        return this->get_value();
1771
11.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.1k
    {
1769
11.1k
        SCN_EXPECT(has_value());
1770
11.1k
        return this->get_value();
1771
11.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.1k
    {
1769
11.1k
        SCN_EXPECT(has_value());
1770
11.1k
        return this->get_value();
1771
11.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
11.1k
    {
1769
11.1k
        SCN_EXPECT(has_value());
1770
11.1k
        return this->get_value();
1771
11.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELSA_0EEERSH_v
Line
Count
Source
1768
11.1k
    {
1769
11.1k
        SCN_EXPECT(has_value());
1770
11.1k
        return this->get_value();
1771
11.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
11.6k
    {
1769
11.6k
        SCN_EXPECT(has_value());
1770
11.6k
        return this->get_value();
1771
11.6k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1768
11.6k
    {
1769
11.6k
        SCN_EXPECT(has_value());
1770
11.6k
        return this->get_value();
1771
11.6k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEENS0_10scan_errorEE5valueISF_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
11.6k
    {
1769
11.6k
        SCN_EXPECT(has_value());
1770
11.6k
        return this->get_value();
1771
11.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1768
21.9k
    {
1769
21.9k
        SCN_EXPECT(has_value());
1770
21.9k
        return this->get_value();
1771
21.9k
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1768
18.9k
    {
1769
18.9k
        SCN_EXPECT(has_value());
1770
18.9k
        return this->get_value();
1771
18.9k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
44.7k
    {
1769
44.7k
        SCN_EXPECT(has_value());
1770
44.7k
        return this->get_value();
1771
44.7k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
8.64k
    {
1769
8.64k
        SCN_EXPECT(has_value());
1770
8.64k
        return this->get_value();
1771
8.64k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
4.60k
    {
1769
4.60k
        SCN_EXPECT(has_value());
1770
4.60k
        return this->get_value();
1771
4.60k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1768
9.24k
    {
1769
9.24k
        SCN_EXPECT(has_value());
1770
9.24k
        return this->get_value();
1771
9.24k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.89k
    {
1769
1.89k
        SCN_EXPECT(has_value());
1770
1.89k
        return this->get_value();
1771
1.89k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
1.40k
    {
1769
1.40k
        SCN_EXPECT(has_value());
1770
1.40k
        return this->get_value();
1771
1.40k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
1.04k
    {
1769
1.04k
        SCN_EXPECT(has_value());
1770
1.04k
        return this->get_value();
1771
1.04k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
1.04k
    {
1769
1.04k
        SCN_EXPECT(has_value());
1770
1.04k
        return this->get_value();
1771
1.04k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.44k
    {
1769
3.44k
        SCN_EXPECT(has_value());
1770
3.44k
        return this->get_value();
1771
3.44k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
1.97k
    {
1769
1.97k
        SCN_EXPECT(has_value());
1770
1.97k
        return this->get_value();
1771
1.97k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.69k
    {
1769
3.69k
        SCN_EXPECT(has_value());
1770
3.69k
        return this->get_value();
1771
3.69k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.76k
    {
1769
2.76k
        SCN_EXPECT(has_value());
1770
2.76k
        return this->get_value();
1771
2.76k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.76k
    {
1769
2.76k
        SCN_EXPECT(has_value());
1770
2.76k
        return this->get_value();
1771
2.76k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
360
    {
1769
360
        SCN_EXPECT(has_value());
1770
360
        return this->get_value();
1771
360
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
926
    {
1769
926
        SCN_EXPECT(has_value());
1770
926
        return this->get_value();
1771
926
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
13.7k
    {
1769
13.7k
        SCN_EXPECT(has_value());
1770
13.7k
        return this->get_value();
1771
13.7k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.52k
    {
1769
1.52k
        SCN_EXPECT(has_value());
1770
1.52k
        return this->get_value();
1771
1.52k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
2.31k
    {
1769
2.31k
        SCN_EXPECT(has_value());
1770
2.31k
        return this->get_value();
1771
2.31k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1768
6.52k
    {
1769
6.52k
        SCN_EXPECT(has_value());
1770
6.52k
        return this->get_value();
1771
6.52k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
1.05k
    {
1769
1.05k
        SCN_EXPECT(has_value());
1770
1.05k
        return this->get_value();
1771
1.05k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
784
    {
1769
784
        SCN_EXPECT(has_value());
1770
784
        return this->get_value();
1771
784
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
596
    {
1769
596
        SCN_EXPECT(has_value());
1770
596
        return this->get_value();
1771
596
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1768
596
    {
1769
596
        SCN_EXPECT(has_value());
1770
596
        return this->get_value();
1771
596
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Line
Count
Source
1768
8
    {
1769
8
        SCN_EXPECT(has_value());
1770
8
        return this->get_value();
1771
8
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
2.35k
    {
1769
2.35k
        SCN_EXPECT(has_value());
1770
2.35k
        return this->get_value();
1771
2.35k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1768
5.50k
    {
1769
5.50k
        SCN_EXPECT(has_value());
1770
5.50k
        return this->get_value();
1771
5.50k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
3.64k
    {
1769
3.64k
        SCN_EXPECT(has_value());
1770
3.64k
        return this->get_value();
1771
3.64k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.70k
    {
1769
2.70k
        SCN_EXPECT(has_value());
1770
2.70k
        return this->get_value();
1771
2.70k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1768
2.70k
    {
1769
2.70k
        SCN_EXPECT(has_value());
1770
2.70k
        return this->get_value();
1771
2.70k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1768
8
    {
1769
8
        SCN_EXPECT(has_value());
1770
8
        return this->get_value();
1771
8
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1768
188
    {
1769
188
        SCN_EXPECT(has_value());
1770
188
        return this->get_value();
1771
188
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1768
940
    {
1769
940
        SCN_EXPECT(has_value());
1770
940
        return this->get_value();
1771
940
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
3.72k
    {
1769
3.72k
        SCN_EXPECT(has_value());
1770
3.72k
        return this->get_value();
1771
3.72k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
1.99k
    {
1769
1.99k
        SCN_EXPECT(has_value());
1770
1.99k
        return this->get_value();
1771
1.99k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
1.07k
    {
1769
1.07k
        SCN_EXPECT(has_value());
1770
1.07k
        return this->get_value();
1771
1.07k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1768
1.07k
    {
1769
1.07k
        SCN_EXPECT(has_value());
1770
1.07k
        return this->get_value();
1771
1.07k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
1772
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1773
    constexpr const U& value() const& noexcept
1774
0
    {
1775
0
        SCN_EXPECT(has_value());
1776
0
        return this->get_value();
1777
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1778
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1779
    constexpr U&& value() && noexcept
1780
    {
1781
        SCN_EXPECT(has_value());
1782
        return std::move(this->get_value());
1783
    }
1784
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1785
    constexpr const U&& value() const&& noexcept
1786
    {
1787
        SCN_EXPECT(has_value());
1788
        return std::move(this->get_value());
1789
    }
1790
1791
    /// Get the expected value, if one is contained in *this
1792
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1793
    constexpr U& operator*() & noexcept
1794
63.8k
    {
1795
63.8k
        return value();
1796
63.8k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1794
2.20k
    {
1795
2.20k
        return value();
1796
2.20k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1794
4.23k
    {
1795
4.23k
        return value();
1796
4.23k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1794
2.02k
    {
1795
2.02k
        return value();
1796
2.02k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
34.2k
    {
1795
34.2k
        return value();
1796
34.2k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
5.85k
    {
1795
5.85k
        return value();
1796
5.85k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
804
    {
1795
804
        return value();
1796
804
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1794
7.07k
    {
1795
7.07k
        return value();
1796
7.07k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
52
    {
1795
52
        return value();
1796
52
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
44
    {
1795
44
        return value();
1796
44
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
110
    {
1795
110
        return value();
1796
110
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1794
80
    {
1795
80
        return value();
1796
80
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1794
524
    {
1795
524
        return value();
1796
524
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1794
4.80k
    {
1795
4.80k
        return value();
1796
4.80k
    }
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Line
Count
Source
1794
1.73k
    {
1795
1.73k
        return value();
1796
1.73k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1797
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1798
    constexpr const U& operator*() const& noexcept
1799
0
    {
1800
0
        return value();
1801
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1802
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1803
    constexpr U&& operator*() && noexcept
1804
127k
    {
1805
127k
        return std::move(value());
1806
127k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1804
14.9k
    {
1805
14.9k
        return std::move(value());
1806
14.9k
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1804
14.1k
    {
1805
14.1k
        return std::move(value());
1806
14.1k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
10.4k
    {
1805
10.4k
        return std::move(value());
1806
10.4k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
2.78k
    {
1805
2.78k
        return std::move(value());
1806
2.78k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
4.60k
    {
1805
4.60k
        return std::move(value());
1806
4.60k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1804
9.24k
    {
1805
9.24k
        return std::move(value());
1806
9.24k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
1.40k
    {
1805
1.40k
        return std::move(value());
1806
1.40k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.89k
    {
1805
1.89k
        return std::move(value());
1806
1.89k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
1.04k
    {
1805
1.04k
        return std::move(value());
1806
1.04k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
1.04k
    {
1805
1.04k
        return std::move(value());
1806
1.04k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
2.63k
    {
1805
2.63k
        return std::move(value());
1806
2.63k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
3.69k
    {
1805
3.69k
        return std::move(value());
1806
3.69k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.76k
    {
1805
2.76k
        return std::move(value());
1806
2.76k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.76k
    {
1805
2.76k
        return std::move(value());
1806
2.76k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Line
Count
Source
1804
196
    {
1805
196
        return std::move(value());
1806
196
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
360
    {
1805
360
        return std::move(value());
1806
360
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
926
    {
1805
926
        return std::move(value());
1806
926
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.47k
    {
1805
1.47k
        return std::move(value());
1806
1.47k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
2.31k
    {
1805
2.31k
        return std::move(value());
1806
2.31k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
13.6k
    {
1805
13.6k
        return std::move(value());
1806
13.6k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1804
6.52k
    {
1805
6.52k
        return std::move(value());
1806
6.52k
    }
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
784
    {
1805
784
        return std::move(value());
1806
784
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
948
    {
1805
948
        return std::move(value());
1806
948
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
596
    {
1805
596
        return std::move(value());
1806
596
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1804
596
    {
1805
596
        return std::move(value());
1806
596
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Line
Count
Source
1804
8
    {
1805
8
        return std::move(value());
1806
8
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
1.82k
    {
1805
1.82k
        return std::move(value());
1806
1.82k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
3.64k
    {
1805
3.64k
        return std::move(value());
1806
3.64k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
5.42k
    {
1805
5.42k
        return std::move(value());
1806
5.42k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.70k
    {
1805
2.70k
        return std::move(value());
1806
2.70k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1804
2.70k
    {
1805
2.70k
        return std::move(value());
1806
2.70k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1804
8
    {
1805
8
        return std::move(value());
1806
8
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Line
Count
Source
1804
188
    {
1805
188
        return std::move(value());
1806
188
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1804
940
    {
1805
940
        return std::move(value());
1806
940
    }
_ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1804
1.97k
    {
1805
1.97k
        return std::move(value());
1806
1.97k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.99k
    {
1805
1.99k
        return std::move(value());
1806
1.99k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.99k
    {
1805
1.99k
        return std::move(value());
1806
1.99k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.07k
    {
1805
1.07k
        return std::move(value());
1806
1.07k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Line
Count
Source
1804
1.07k
    {
1805
1.07k
        return std::move(value());
1806
1.07k
    }
1807
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1808
    constexpr const U&& operator*() const&& noexcept
1809
    {
1810
        return std::move(value());
1811
    }
1812
1813
    constexpr value_type* operator->() noexcept
1814
153k
    {
1815
153k
        return &value();
1816
153k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.81k
    {
1815
5.81k
        return &value();
1816
5.81k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.54k
    {
1815
5.54k
        return &value();
1816
5.54k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.54k
    {
1815
5.54k
        return &value();
1816
5.54k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.54k
    {
1815
5.54k
        return &value();
1816
5.54k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.54k
    {
1815
5.54k
        return &value();
1816
5.54k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
5.54k
    {
1815
5.54k
        return &value();
1816
5.54k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.19k
    {
1815
6.19k
        return &value();
1816
6.19k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.19k
    {
1815
6.19k
        return &value();
1816
6.19k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
6.19k
    {
1815
6.19k
        return &value();
1816
6.19k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.3k
    {
1815
11.3k
        return &value();
1816
11.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.1k
    {
1815
11.1k
        return &value();
1816
11.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.1k
    {
1815
11.1k
        return &value();
1816
11.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.1k
    {
1815
11.1k
        return &value();
1816
11.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.1k
    {
1815
11.1k
        return &value();
1816
11.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.1k
    {
1815
11.1k
        return &value();
1816
11.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.6k
    {
1815
11.6k
        return &value();
1816
11.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.6k
    {
1815
11.6k
        return &value();
1816
11.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v4::scan_error>::operator->()
Line
Count
Source
1814
11.6k
    {
1815
11.6k
        return &value();
1816
11.6k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1817
    constexpr const value_type* operator->() const noexcept
1818
    {
1819
        return &value();
1820
    }
1821
1822
    /// Returns the expected value if *this contains one, otherwise
1823
    /// returns default_value
1824
    template <typename U,
1825
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1826
                                          std::is_convertible_v<U, T>>>
1827
    constexpr T value_or(U&& default_value) const& noexcept(
1828
        std::is_nothrow_copy_constructible_v<T> &&
1829
        std::is_nothrow_constructible_v<T, U&&>)
1830
    {
1831
        if (has_value()) {
1832
            return value();
1833
        }
1834
        return std::forward<U>(default_value);
1835
    }
1836
    template <typename U,
1837
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1838
                                          std::is_convertible_v<U, T>>>
1839
    constexpr T value_or(U&& default_value) && noexcept(
1840
        std::is_nothrow_move_constructible_v<T> &&
1841
        std::is_nothrow_constructible_v<T, U&&>)
1842
    {
1843
        if (has_value()) {
1844
            return std::move(value());
1845
        }
1846
        return std::forward<U>(default_value);
1847
    }
1848
1849
    template <typename G,
1850
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1851
                                          std::is_convertible_v<G, E>>>
1852
    constexpr E error_or(G&& default_error) const& noexcept(
1853
        std::is_nothrow_copy_constructible_v<E> &&
1854
        std::is_nothrow_constructible_v<E, G&&>)
1855
    {
1856
        if (!has_value()) {
1857
            return error();
1858
        }
1859
        return std::forward<G>(default_error);
1860
    }
1861
    template <typename G,
1862
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1863
                                          std::is_convertible_v<G, E>>>
1864
    constexpr E error_or(G&& default_error) && noexcept(
1865
        std::is_nothrow_move_constructible_v<E> &&
1866
        std::is_nothrow_constructible_v<E, G&&>)
1867
    {
1868
        if (!has_value()) {
1869
            return std::move(error());
1870
        }
1871
        return std::forward<G>(default_error);
1872
    }
1873
1874
    template <typename F>
1875
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1876
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1877
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1878
    {
1879
        return detail::and_then_impl(*this, std::forward<F>(f));
1880
    }
1881
    template <typename F>
1882
    constexpr auto and_then(F&& f) const& noexcept(
1883
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1884
                                       std::forward<F>(f))))
1885
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1886
    {
1887
        return detail::and_then_impl(*this, std::forward<F>(f));
1888
    }
1889
    template <typename F>
1890
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1891
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1892
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1893
    {
1894
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1895
    }
1896
    template <typename F>
1897
    constexpr auto and_then(F&& f) const&& noexcept(
1898
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1899
                                       std::forward<F>(f))))
1900
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1901
    {
1902
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1903
    }
1904
1905
    template <typename F>
1906
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1907
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1908
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1909
    {
1910
        return detail::or_else_impl(*this, std::forward<F>(f));
1911
    }
1912
    template <typename F>
1913
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1914
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1915
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1916
    {
1917
        return detail::or_else_impl(*this, std::forward<F>(f));
1918
    }
1919
    template <typename F>
1920
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1921
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1922
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1923
    {
1924
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1925
    }
1926
    template <typename F>
1927
    constexpr auto or_else(F&& f) const&& noexcept(
1928
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1929
                                      std::forward<F>(f))))
1930
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1931
    {
1932
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1933
    }
1934
1935
    template <typename F>
1936
    constexpr auto transform(
1937
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1938
    {
1939
        return detail::transform_impl(*this, std::forward<F>(f));
1940
    }
1941
    template <typename F>
1942
    constexpr auto transform(F&& f)
1943
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1944
    {
1945
        return detail::transform_impl(*this, std::forward<F>(f));
1946
    }
1947
    template <typename F>
1948
    constexpr auto transform(
1949
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1950
    {
1951
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1952
    }
1953
    template <typename F>
1954
    constexpr auto transform(F&& f)
1955
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1956
    {
1957
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1958
    }
1959
1960
    template <typename F>
1961
    constexpr auto transform_error(
1962
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1963
                                                          std::forward<F>(f)))
1964
2.97k
    {
1965
2.97k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
2.97k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1964
720
    {
1965
720
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
720
    }
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1964
948
    {
1965
948
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
948
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
_ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1964
352
    {
1965
352
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
352
    }
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1964
956
    {
1965
956
        return detail::transform_error_impl(*this, std::forward<F>(f));
1966
956
    }
1967
    template <typename F>
1968
    constexpr auto transform_error(F&& f)
1969
        const& -> decltype(detail::transform_error_impl(*this,
1970
                                                        std::forward<F>(f)))
1971
    {
1972
        return detail::transform_error_impl(*this, std::forward<F>(f));
1973
    }
1974
    template <typename F>
1975
    constexpr auto transform_error(
1976
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1977
                                                           std::forward<F>(f)))
1978
43.9k
    {
1979
43.9k
        return detail::transform_error_impl(std::move(*this),
1980
43.9k
                                            std::forward<F>(f));
1981
43.9k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
8.46k
    {
1979
8.46k
        return detail::transform_error_impl(std::move(*this),
1980
8.46k
                                            std::forward<F>(f));
1981
8.46k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
894
    {
1979
894
        return detail::transform_error_impl(std::move(*this),
1980
894
                                            std::forward<F>(f));
1981
894
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
2.33k
    {
1979
2.33k
        return detail::transform_error_impl(std::move(*this),
1980
2.33k
                                            std::forward<F>(f));
1981
2.33k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
1.04k
    {
1979
1.04k
        return detail::transform_error_impl(std::move(*this),
1980
1.04k
                                            std::forward<F>(f));
1981
1.04k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
1.02k
    {
1979
1.02k
        return detail::transform_error_impl(std::move(*this),
1980
1.02k
                                            std::forward<F>(f));
1981
1.02k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1978
2.76k
    {
1979
2.76k
        return detail::transform_error_impl(std::move(*this),
1980
2.76k
                                            std::forward<F>(f));
1981
2.76k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1978
360
    {
1979
360
        return detail::transform_error_impl(std::move(*this),
1980
360
                                            std::forward<F>(f));
1981
360
    }
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1978
926
    {
1979
926
        return detail::transform_error_impl(std::move(*this),
1980
926
                                            std::forward<F>(f));
1981
926
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
578
    {
1979
578
        return detail::transform_error_impl(std::move(*this),
1980
578
                                            std::forward<F>(f));
1981
578
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
8.23k
    {
1979
8.23k
        return detail::transform_error_impl(std::move(*this),
1980
8.23k
                                            std::forward<F>(f));
1981
8.23k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1978
1.22k
    {
1979
1.22k
        return detail::transform_error_impl(std::move(*this),
1980
1.22k
                                            std::forward<F>(f));
1981
1.22k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
596
    {
1979
596
        return detail::transform_error_impl(std::move(*this),
1980
596
                                            std::forward<F>(f));
1981
596
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1978
526
    {
1979
526
        return detail::transform_error_impl(std::move(*this),
1980
526
                                            std::forward<F>(f));
1981
526
    }
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
5.60k
    {
1979
5.60k
        return detail::transform_error_impl(std::move(*this),
1980
5.60k
                                            std::forward<F>(f));
1981
5.60k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1978
2.70k
    {
1979
2.70k
        return detail::transform_error_impl(std::move(*this),
1980
2.70k
                                            std::forward<F>(f));
1981
2.70k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
_ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1978
188
    {
1979
188
        return detail::transform_error_impl(std::move(*this),
1980
188
                                            std::forward<F>(f));
1981
188
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1978
940
    {
1979
940
        return detail::transform_error_impl(std::move(*this),
1980
940
                                            std::forward<F>(f));
1981
940
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1978
2.07k
    {
1979
2.07k
        return detail::transform_error_impl(std::move(*this),
1980
2.07k
                                            std::forward<F>(f));
1981
2.07k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1978
2.22k
    {
1979
2.22k
        return detail::transform_error_impl(std::move(*this),
1980
2.22k
                                            std::forward<F>(f));
1981
2.22k
    }
_ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1978
1.18k
    {
1979
1.18k
        return detail::transform_error_impl(std::move(*this),
1980
1.18k
                                            std::forward<F>(f));
1981
1.18k
    }
1982
    template <typename F>
1983
    constexpr auto transform_error(F&& f)
1984
        const&& -> decltype(detail::transform_error_impl(*this,
1985
                                                         std::forward<F>(f)))
1986
    {
1987
        return detail::transform_error_impl(std::move(*this),
1988
                                            std::forward<F>(f));
1989
    }
1990
1991
private:
1992
    template <typename... Args>
1993
    void emplace_impl(Args&&... args) noexcept(
1994
        std::is_nothrow_constructible_v<T, Args&&...>)
1995
    {
1996
        if (this->has_value()) {
1997
            this->destroy_value();
1998
            this->construct(std::forward<Args>(args)...);
1999
        }
2000
        else {
2001
#if SCN_HAS_EXCEPTIONS
2002
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2003
                auto tmp = std::move(error());
2004
                this->destroy_unexpected();
2005
2006
                try {
2007
                    this->construct(std::forward<Args>(args)...);
2008
                }
2009
                catch (...) {
2010
                    this->construct_unexpected(std::move(tmp));
2011
                    throw;
2012
                }
2013
            }
2014
            else {
2015
                this->construct(std::forward<Args>(args)...);
2016
            }
2017
#else
2018
            this->destroy_unexpected();
2019
            this->construct(std::forward<Args>(args)...);
2020
#endif
2021
        }
2022
    }
2023
2024
    template <typename Value>
2025
    void assign_value(Value&& val) noexcept(
2026
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2027
                                        Value&&> &&
2028
        std::is_nothrow_assignable_v<T, Value&&>)
2029
    {
2030
        if (has_value()) {
2031
            this->get_value() = std::forward<Value>(val);
2032
            return;
2033
        }
2034
2035
#if SCN_HAS_EXCEPTIONS
2036
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2037
            this->destroy_unexpected();
2038
            this->construct(std::forward<Value>(val));
2039
        }
2040
        else {
2041
            auto tmp = std::move(this->get_unexpected());
2042
            this->destroy_unexpected();
2043
2044
            try {
2045
                this->construct(std::forward<Value>(val));
2046
            }
2047
            catch (...) {
2048
                this->construct_unexpected(std::move(tmp));
2049
            }
2050
        }
2051
#else
2052
        this->destroy_unexpected();
2053
        this->construct(std::forward<Value>(val));
2054
#endif
2055
    }
2056
2057
    template <typename Unexpected>
2058
    void assign_unexpected(Unexpected&& unex) noexcept(
2059
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2060
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2061
    {
2062
        if (!has_value()) {
2063
            this->get_unexpected() = std::forward<Unexpected>(unex);
2064
            return;
2065
        }
2066
2067
        this->destroy_value();
2068
        this->construct_unexpected(std::forward<Unexpected>(unex));
2069
    }
2070
};
2071
2072
/////////////////////////////////////////////////////////////////
2073
// <ranges> implementation
2074
/////////////////////////////////////////////////////////////////
2075
2076
/**
2077
 * Contains a very minimal `<ranges>` implementation.
2078
 *
2079
 * This is a heavily stripped-down and adapted version of NanoRange:
2080
 * https://github.com/tcbrindle/NanoRange.
2081
 *
2082
 * NanoRange is provided under the Boost license.
2083
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2084
 */
2085
namespace ranges {
2086
2087
namespace detail {
2088
using namespace scn::detail;
2089
2090
template <typename T>
2091
constexpr auto decay_copy(T&& t) noexcept(
2092
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2093
510k
{
2094
510k
    return SCN_FWD(t);
2095
510k
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2093
139k
{
2094
139k
    return SCN_FWD(t);
2095
139k
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2093
214k
{
2094
214k
    return SCN_FWD(t);
2095
214k
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2093
149k
{
2094
149k
    return SCN_FWD(t);
2095
149k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2093
4.63k
{
2094
4.63k
    return SCN_FWD(t);
2095
4.63k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
2093
1.78k
{
2094
1.78k
    return SCN_FWD(t);
2095
1.78k
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2096
2097
template <bool>
2098
struct conditional {
2099
    template <typename T, typename>
2100
    using type = T;
2101
};
2102
2103
template <>
2104
struct conditional<false> {
2105
    template <typename, typename U>
2106
    using type = U;
2107
};
2108
2109
template <bool B, typename T, typename U>
2110
using conditional_t = typename conditional<B>::template type<T, U>;
2111
2112
template <template <class...> class AliasT, typename... Args>
2113
auto exists_helper(long) -> std::false_type;
2114
2115
template <template <class...> class AliasT,
2116
          typename... Args,
2117
          typename = AliasT<Args...>>
2118
auto exists_helper(int) -> std::true_type;
2119
2120
template <template <class...> class AliasT, typename... Args>
2121
inline constexpr bool exists_v =
2122
    decltype(exists_helper<AliasT, Args...>(0))::value;
2123
2124
template <typename, typename...>
2125
auto test_requires_fn(long) -> std::false_type;
2126
2127
template <typename R,
2128
          typename... Args,
2129
          typename = decltype(&R::template requires_<Args...>)>
2130
auto test_requires_fn(int) -> std::true_type;
2131
2132
template <typename R, typename... Args>
2133
inline constexpr bool requires_ =
2134
    decltype(test_requires_fn<R, Args...>(0))::value;
2135
2136
template <bool Expr>
2137
using requires_expr = std::enable_if_t<Expr, int>;
2138
}  // namespace detail
2139
2140
template <typename>
2141
inline constexpr bool enable_borrowed_range = false;
2142
2143
namespace detail {
2144
template <typename T>
2145
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2146
2147
struct boolean_testable_concept {
2148
    template <typename T>
2149
    auto requires_(T&& t)
2150
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2151
};
2152
2153
template <typename T>
2154
inline constexpr bool boolean_testable =
2155
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2156
}  // namespace detail
2157
2158
namespace detail {
2159
struct weakly_equality_comparable_with_concept {
2160
    template <typename T, typename U>
2161
    auto requires_(const std::remove_reference_t<T>& t,
2162
                   const std::remove_reference_t<U>& u)
2163
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2164
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2165
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2166
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2167
};
2168
2169
template <typename T, typename U>
2170
inline constexpr bool weakly_equality_comparable_with =
2171
    requires_<weakly_equality_comparable_with_concept, T, U>;
2172
}  // namespace detail
2173
2174
template <typename T>
2175
inline constexpr bool equality_comparable =
2176
    detail::weakly_equality_comparable_with<T, T>;
2177
2178
namespace detail {
2179
struct equality_comparable_with_concept {
2180
    template <typename, typename>
2181
    static auto test(long) -> std::false_type;
2182
2183
    template <typename T, typename U>
2184
    static auto test(int)
2185
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2186
#if 0
2187
            common_reference_with<const std::remove_reference_t<T>&,
2188
                                  const std::remove_reference_t<U>&> &&
2189
            equality_comparable<
2190
                common_reference_t<const std::remove_reference_t<T>&,
2191
                                   const std::remove_reference_t<U>&>> &&
2192
#endif
2193
                                weakly_equality_comparable_with<T, U>,
2194
                            std::true_type>;
2195
};
2196
}  // namespace detail
2197
2198
template <typename T, typename U>
2199
inline constexpr bool equality_comparable_with =
2200
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2201
2202
namespace detail {
2203
struct partially_ordered_with_concept {
2204
    template <typename T, typename U>
2205
    auto requires_(const std::remove_reference_t<T>& t,
2206
                   const std::remove_reference_t<U>& u)
2207
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2208
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2209
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2210
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2211
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2212
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2213
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2214
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2215
};
2216
2217
template <typename T, typename U>
2218
inline constexpr bool partially_ordered_with =
2219
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2220
}  // namespace detail
2221
2222
template <typename T>
2223
inline constexpr bool totally_ordered =
2224
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2225
2226
namespace detail {
2227
struct totally_ordered_with_concept {
2228
    template <typename, typename>
2229
    static auto test(long) -> std::false_type;
2230
2231
    template <typename T, typename U>
2232
    static auto test(int)
2233
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2234
                                equality_comparable_with<T, U> &&
2235
#if 0
2236
                                totally_ordered<common_reference_t<
2237
                                    const std::remove_reference_t<T>&,
2238
                                    const std::remove_reference_t<U>&>> &&
2239
#endif
2240
                                partially_ordered_with<T, U>,
2241
                            std::true_type>;
2242
};
2243
}  // namespace detail
2244
2245
template <typename T, typename U>
2246
inline constexpr bool totally_ordered_with =
2247
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2248
2249
namespace detail {
2250
struct movable_concept {
2251
    template <typename T>
2252
    static auto test(long) -> std::false_type;
2253
2254
    template <typename T>
2255
    static auto test(int) -> std::enable_if_t<
2256
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2257
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2258
        std::true_type>;
2259
};
2260
}  // namespace detail
2261
2262
template <typename T>
2263
inline constexpr bool movable =
2264
    decltype(detail::movable_concept::test<T>(0))::value;
2265
2266
namespace detail {
2267
struct copyable_concept {
2268
    template <typename>
2269
    static auto test(long) -> std::false_type;
2270
2271
    template <typename T>
2272
    static auto test(int)
2273
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2274
                                std::is_copy_assignable_v<T>,
2275
                            std::true_type>;
2276
};
2277
}  // namespace detail
2278
2279
template <typename T>
2280
inline constexpr bool copyable =
2281
    decltype(detail::copyable_concept::test<T>(0))::value;
2282
2283
template <typename T>
2284
inline constexpr bool semiregular =
2285
    copyable<T> && std::is_default_constructible_v<T>;
2286
2287
template <typename T>
2288
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2289
2290
template <typename>
2291
struct incrementable_traits;
2292
2293
namespace detail {
2294
struct empty {};
2295
2296
template <typename T>
2297
struct with_difference_type {
2298
    using difference_type = T;
2299
};
2300
2301
template <typename, typename = void>
2302
struct incrementable_traits_helper {};
2303
2304
// Workaround for GCC silliness: void* has no difference_type
2305
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2306
// error Can we formulate the concept differently to avoid the need for this
2307
// hack?
2308
template <>
2309
struct incrementable_traits_helper<void*> {};
2310
2311
template <typename T>
2312
struct incrementable_traits_helper<T*>
2313
    : detail::conditional_t<std::is_object_v<T>,
2314
                            with_difference_type<std::ptrdiff_t>,
2315
                            empty> {};
2316
2317
template <class I>
2318
struct incrementable_traits_helper<const I>
2319
    : incrementable_traits<std::decay_t<I>> {};
2320
2321
template <typename, typename = void>
2322
struct has_member_difference_type : std::false_type {};
2323
2324
template <typename T>
2325
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2326
    : std::true_type {};
2327
2328
template <typename T>
2329
constexpr bool has_member_difference_type_v =
2330
    has_member_difference_type<T>::value;
2331
2332
template <typename T>
2333
struct incrementable_traits_helper<
2334
    T,
2335
    std::enable_if_t<has_member_difference_type_v<T>>> {
2336
    using difference_type = typename T::difference_type;
2337
};
2338
2339
template <typename T, typename = void>
2340
struct subtraction_result_type {
2341
    using type = void;
2342
};
2343
template <typename T>
2344
struct subtraction_result_type<
2345
    T,
2346
    std::void_t<decltype(std::declval<const T&>() -
2347
                         std::declval<const T&>())>> {
2348
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2349
};
2350
2351
template <typename T>
2352
inline constexpr bool enable_incrtraits_subtractable =
2353
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2354
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2355
2356
template <typename T>
2357
struct incrementable_traits_helper<
2358
    T,
2359
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2360
    : with_difference_type<
2361
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2362
}  // namespace detail
2363
2364
template <typename T>
2365
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2366
2367
template <typename T>
2368
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2369
2370
template <typename>
2371
struct readable_traits;
2372
2373
namespace detail {
2374
template <typename T>
2375
struct with_value_type {
2376
    using value_type = T;
2377
};
2378
2379
template <typename, typename = void>
2380
struct readable_traits_helper {};
2381
2382
template <typename T>
2383
struct readable_traits_helper<T*>
2384
    : detail::conditional_t<std::is_object_v<T>,
2385
                            with_value_type<std::remove_cv_t<T>>,
2386
                            empty> {};
2387
2388
template <typename I>
2389
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2390
    : readable_traits<std::decay_t<I>> {};
2391
2392
template <typename I>
2393
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2394
    : readable_traits<std::decay_t<I>> {};
2395
2396
template <typename T, typename V = typename T::value_type>
2397
struct member_value_type
2398
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2399
2400
template <typename T, typename E = typename T::element_type>
2401
struct member_element_type
2402
    : detail::conditional_t<std::is_object_v<E>,
2403
                            with_value_type<std::remove_cv_t<E>>,
2404
                            empty> {};
2405
2406
template <typename T>
2407
using member_value_type_t = typename T::value_type;
2408
2409
template <typename T>
2410
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2411
2412
template <typename T>
2413
using member_element_type_t = typename T::element_type;
2414
2415
template <typename T>
2416
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2417
2418
template <typename T>
2419
struct readable_traits_helper<T,
2420
                              std::enable_if_t<has_member_value_type_v<T> &&
2421
                                               !has_member_element_type_v<T>>>
2422
    : member_value_type<T> {};
2423
2424
template <typename T>
2425
struct readable_traits_helper<T,
2426
                              std::enable_if_t<has_member_element_type_v<T> &&
2427
                                               !has_member_value_type_v<T>>>
2428
    : member_element_type<T> {};
2429
2430
// A type which has both value_type and element_type members must specialise
2431
// readable_traits to tell us which one to prefer -- see
2432
// https://github.com/ericniebler/stl2/issues/562
2433
template <typename T>
2434
struct readable_traits_helper<T,
2435
                              std::enable_if_t<has_member_element_type_v<T> &&
2436
                                               has_member_value_type_v<T>>> {};
2437
}  // namespace detail
2438
2439
template <typename T>
2440
struct readable_traits : detail::readable_traits_helper<T> {};
2441
2442
template <typename T>
2443
using iter_value_t = typename readable_traits<T>::value_type;
2444
2445
namespace detail {
2446
template <typename T>
2447
using with_reference = T&;
2448
2449
struct can_reference_concept {
2450
    template <typename T>
2451
    auto requires_() -> with_reference<T>;
2452
};
2453
2454
template <typename T>
2455
inline constexpr bool can_reference =
2456
    detail::requires_<can_reference_concept, T>;
2457
2458
struct dereferencable_concept {
2459
    template <typename T>
2460
    auto requires_(T& t)
2461
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2462
};
2463
2464
template <typename T>
2465
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2466
2467
// GCC and Clang allow dereferencing void* as an extension.
2468
// Let's kill that off now.
2469
2470
template <>
2471
inline constexpr bool dereferenceable<void*> = false;
2472
}  // namespace detail
2473
2474
using std::bidirectional_iterator_tag;
2475
using std::forward_iterator_tag;
2476
using std::input_iterator_tag;
2477
using std::output_iterator_tag;
2478
using std::random_access_iterator_tag;
2479
2480
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2481
    __cpp_lib_ranges >= 201911L
2482
using std::contiguous_iterator_tag;
2483
#else
2484
struct contiguous_iterator_tag : random_access_iterator_tag {};
2485
#endif
2486
2487
template <typename T>
2488
struct iterator_category;
2489
2490
namespace detail {
2491
template <typename T, typename = void>
2492
struct iterator_category_ {};
2493
template <typename T>
2494
struct iterator_category_<T*>
2495
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2496
template <typename T>
2497
struct iterator_category_<const T> : iterator_category<T> {};
2498
template <typename T>
2499
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2500
    using type = typename T::iterator_category;
2501
};
2502
}  // namespace detail
2503
2504
template <typename T>
2505
struct iterator_category : detail::iterator_category_<T> {};
2506
template <typename T>
2507
using iterator_category_t = typename iterator_category<T>::type;
2508
2509
namespace detail {
2510
2511
template <typename T, typename = void>
2512
struct legacy_iterator_category : iterator_category<T> {};
2513
2514
template <typename T>
2515
struct legacy_iterator_category<
2516
    T,
2517
    std::enable_if_t<
2518
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2519
    using type = random_access_iterator_tag;
2520
};
2521
2522
template <typename T>
2523
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2524
2525
}  // namespace detail
2526
2527
template <typename T>
2528
using iter_reference_t =
2529
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2530
2531
namespace detail {
2532
2533
struct readable_concept {
2534
    template <typename In>
2535
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2536
                                 std::declval<iter_reference_t<In>>());
2537
    // std::declval<iter_rvalue_reference_t<In>>());
2538
2539
    template <typename>
2540
    static auto test(long) -> std::false_type;
2541
2542
    template <typename In>
2543
    static auto test(int)
2544
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2545
#if 0
2546
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2547
            common_reference_with<iter_reference_t<In>&&,
2548
                                  iter_rvalue_reference_t<In>&&> &&
2549
            common_reference_with<iter_rvalue_reference_t<In>&&,
2550
                                  const iter_value_t<In>&>,
2551
#endif
2552
                            std::true_type>;
2553
};
2554
2555
}  // namespace detail
2556
2557
template <typename In>
2558
inline constexpr bool readable =
2559
    decltype(detail::readable_concept::test<In>(0))::value;
2560
2561
namespace detail {
2562
2563
struct writable_concept {
2564
    template <typename Out, typename T>
2565
    auto requires_(Out&& o, T&& t)
2566
        -> decltype(*o = std::forward<T>(t),
2567
                    *std::forward<Out>(o) = std::forward<T>(t),
2568
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2569
                        std::forward<T>(t),
2570
                    const_cast<const iter_reference_t<Out>&&>(
2571
                        *std::forward<Out>(o)) = std::forward<T>(t));
2572
};
2573
2574
}  // namespace detail
2575
2576
template <typename Out, typename T>
2577
inline constexpr bool writable =
2578
    detail::requires_<detail::writable_concept, Out, T>;
2579
2580
namespace detail {
2581
2582
template <typename T>
2583
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2584
2585
template <typename T>
2586
inline constexpr bool is_signed_integer_like =
2587
    std::is_integral_v<T> && std::is_signed_v<T>;
2588
2589
struct weakly_incrementable_concept {
2590
    template <typename I>
2591
    auto requires_(I i)
2592
        -> decltype(std::declval<iter_difference_t<I>>(),
2593
                    requires_expr<
2594
                        is_signed_integer_like<iter_difference_t<I>>>{},
2595
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2596
                    i++);
2597
};
2598
2599
}  // namespace detail
2600
2601
template <typename I>
2602
inline constexpr bool weakly_incrementable =
2603
    std::is_default_constructible_v<I> && movable<I> &&
2604
    detail::requires_<detail::weakly_incrementable_concept, I>;
2605
2606
namespace detail {
2607
2608
struct incrementable_concept {
2609
    template <typename I>
2610
    auto requires_(I i)
2611
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2612
};
2613
2614
}  // namespace detail
2615
2616
template <typename I>
2617
inline constexpr bool incrementable =
2618
    regular<I> && weakly_incrementable<I> &&
2619
    detail::requires_<detail::incrementable_concept, I>;
2620
2621
namespace detail {
2622
2623
struct input_or_output_iterator_concept {
2624
    template <typename I>
2625
    auto requires_(I i)
2626
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2627
};
2628
2629
}  // namespace detail
2630
2631
template <typename I>
2632
inline constexpr bool input_or_output_iterator =
2633
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2634
    weakly_incrementable<I>;
2635
2636
template <typename S, typename I>
2637
inline constexpr bool sentinel_for =
2638
    semiregular<S> && input_or_output_iterator<I> &&
2639
    detail::weakly_equality_comparable_with<S, I>;
2640
2641
template <typename S, typename I>
2642
inline constexpr bool disable_sized_sentinel = false;
2643
2644
namespace detail {
2645
2646
struct sized_sentinel_for_concept {
2647
    template <typename S, typename I>
2648
    auto requires_(const S& s, const I& i)
2649
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2650
                                                 iter_difference_t<I>>>{},
2651
                    requires_expr<std::is_same_v<decltype(i - s),
2652
                                                 iter_difference_t<I>>>{});
2653
};
2654
2655
}  // namespace detail
2656
2657
template <typename S, typename I>
2658
inline constexpr bool sized_sentinel_for =
2659
    sentinel_for<S, I> &&
2660
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2661
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2662
2663
// This is a hack, but I'm fed up with my tests breaking because GCC
2664
// has a silly extension
2665
template <typename S>
2666
inline constexpr bool sized_sentinel_for<S, void*> = false;
2667
2668
template <typename I>
2669
inline constexpr bool sized_sentinel_for<void*, I> = false;
2670
2671
template <>
2672
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2673
2674
namespace detail {
2675
2676
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2677
struct input_iterator_concept {
2678
    template <typename I>
2679
    auto requires_() -> iterator_category_t<I>;
2680
2681
    template <typename>
2682
    static auto test(long) -> std::false_type;
2683
2684
    template <typename I>
2685
    static auto test(int) -> std::enable_if_t<
2686
        input_or_output_iterator<I> && readable<I> &&
2687
            detail::requires_<input_iterator_concept, I> &&
2688
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2689
        std::true_type>;
2690
};
2691
2692
}  // namespace detail
2693
2694
template <typename I>
2695
inline constexpr bool input_iterator =
2696
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2697
2698
namespace detail {
2699
2700
struct output_iterator_concept {
2701
    template <typename I, typename T>
2702
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2703
};
2704
2705
}  // namespace detail
2706
2707
template <typename I, typename T>
2708
inline constexpr bool output_iterator =
2709
    input_or_output_iterator<I> && writable<I, T> &&
2710
    detail::requires_<detail::output_iterator_concept, I, T>;
2711
2712
namespace detail {
2713
2714
struct forward_iterator_concept {
2715
    template <typename>
2716
    static auto test(long) -> std::false_type;
2717
2718
    template <typename I>
2719
    static auto test(int) -> std::enable_if_t<
2720
        input_iterator<I> &&
2721
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2722
            incrementable<I> && sentinel_for<I, I>,
2723
        std::true_type>;
2724
};
2725
2726
}  // namespace detail
2727
2728
template <typename I>
2729
inline constexpr bool forward_iterator =
2730
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2731
2732
namespace detail {
2733
2734
struct bidirectional_iterator_concept {
2735
    template <typename I>
2736
    auto requires_(I i)
2737
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2738
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2739
2740
    template <typename>
2741
    static auto test(long) -> std::false_type;
2742
2743
    template <typename I>
2744
    static auto test(int) -> std::enable_if_t<
2745
        forward_iterator<I> &&
2746
            std::is_base_of_v<bidirectional_iterator_tag,
2747
                              iterator_category_t<I>> &&
2748
            detail::requires_<bidirectional_iterator_concept, I>,
2749
        std::true_type>;
2750
};
2751
2752
}  // namespace detail
2753
2754
template <typename I>
2755
inline constexpr bool bidirectional_iterator =
2756
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2757
2758
namespace detail {
2759
2760
struct random_access_iterator_concept {
2761
    template <typename>
2762
    static auto test(long) -> std::false_type;
2763
2764
    template <typename I>
2765
    static auto test(int) -> std::enable_if_t<
2766
        bidirectional_iterator<I> &&
2767
            std::is_base_of_v<random_access_iterator_tag,
2768
                              iterator_category_t<I>> &&
2769
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2770
            detail::requires_<random_access_iterator_concept, I>,
2771
        std::true_type>;
2772
2773
    template <typename I>
2774
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2775
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2776
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2777
#ifndef _MSC_VER
2778
                    requires_expr<std::is_same_v<decltype(n + j),
2779
                                                 I>>{},  // FIXME: MSVC doesn't
2780
                                                         // like this when I =
2781
                                                         // int*
2782
#endif
2783
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2784
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2785
                    requires_expr<
2786
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2787
};
2788
2789
}  // namespace detail
2790
2791
template <typename I>
2792
inline constexpr bool random_access_iterator =
2793
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2794
2795
namespace detail {
2796
2797
struct contiguous_iterator_concept {
2798
    template <typename>
2799
    static auto test(long) -> std::false_type;
2800
2801
    template <typename I>
2802
    static auto test(int) -> std::enable_if_t<
2803
        random_access_iterator<I> &&
2804
            /*std::is_base_of_v<contiguous_iterator_tag,
2805
                              iterator_category_t<I>> &&*/
2806
            detail::can_make_address_from_iterator<I> &&
2807
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2808
            std::is_same_v<iter_value_t<I>,
2809
                           remove_cvref_t<iter_reference_t<I>>>,
2810
        std::true_type>;
2811
};
2812
2813
}  // namespace detail
2814
2815
template <typename I>
2816
inline constexpr bool contiguous_iterator =
2817
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2818
2819
namespace detail::begin_ {
2820
2821
template <typename T>
2822
void begin(T&) = delete;
2823
template <typename T>
2824
void begin(const T&) = delete;
2825
2826
struct fn {
2827
private:
2828
    template <typename T,
2829
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2830
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2831
                  nullptr>
2832
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2833
2834
    template <typename T,
2835
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2836
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2837
        -> decltype(t + 0)
2838
    {
2839
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2840
        return t + 0;
2841
    }
2842
2843
    template <typename T>
2844
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2845
        noexcept(decay_copy(SCN_FWD(t).begin())))
2846
        -> std::enable_if_t<
2847
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2848
            decltype(decay_copy(SCN_FWD(t).begin()))>
2849
352k
    {
2850
352k
        return decay_copy(t.begin());
2851
352k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
2.20k
    {
2850
2.20k
        return decay_copy(t.begin());
2851
2.20k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
2.02k
    {
2850
2.02k
        return decay_copy(t.begin());
2851
2.02k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
2.14k
    {
2850
2.14k
        return decay_copy(t.begin());
2851
2.14k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
135k
    {
2850
135k
        return decay_copy(t.begin());
2851
135k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
352
    {
2850
352
        return decay_copy(t.begin());
2851
352
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
810
    {
2850
810
        return decay_copy(t.begin());
2851
810
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
210k
    {
2850
210k
        return decay_copy(t.begin());
2851
210k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2849
168
    {
2850
168
        return decay_copy(t.begin());
2851
168
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2852
2853
    template <typename T>
2854
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2855
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2856
        -> std::enable_if_t<
2857
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2858
            decltype(decay_copy(begin(SCN_FWD(t))))>
2859
    {
2860
        return decay_copy(begin(SCN_FWD(t)));
2861
    }
2862
2863
public:
2864
    template <typename T>
2865
    constexpr auto operator()(T&& t) const
2866
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2867
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2868
352k
    {
2869
352k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
352k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
2.20k
    {
2869
2.20k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
2.20k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
2.02k
    {
2869
2.02k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
2.02k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
2.14k
    {
2869
2.14k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
2.14k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
135k
    {
2869
135k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
135k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
352
    {
2869
352
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
352
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
810
    {
2869
810
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
810
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
210k
    {
2869
210k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
210k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2868
168
    {
2869
168
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2870
168
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2871
};
2872
2873
}  // namespace detail::begin_
2874
2875
inline constexpr auto begin = detail::begin_::fn{};
2876
2877
namespace detail::end_ {
2878
2879
template <typename T>
2880
void end(T&) = delete;
2881
template <typename T>
2882
void end(const T&) = delete;
2883
2884
struct fn {
2885
private:
2886
    template <typename T,
2887
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2888
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2889
                  nullptr>
2890
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2891
2892
    template <typename T,
2893
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2894
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2895
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2896
    {
2897
        return t + std::extent_v<remove_cvref_t<T>>;
2898
    }
2899
2900
    template <typename T,
2901
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2902
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2903
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2904
        noexcept(decay_copy(SCN_FWD(t).end())))
2905
        -> std::enable_if_t<sentinel_for<S, I>,
2906
                            decltype(decay_copy(SCN_FWD(t).end()))>
2907
7.18k
    {
2908
7.18k
        return decay_copy(SCN_FWD(t).end());
2909
7.18k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
2.20k
    {
2908
2.20k
        return decay_copy(SCN_FWD(t).end());
2909
2.20k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
2.02k
    {
2908
2.02k
        return decay_copy(SCN_FWD(t).end());
2909
2.02k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
2.14k
    {
2908
2.14k
        return decay_copy(SCN_FWD(t).end());
2909
2.14k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2907
810
    {
2908
810
        return decay_copy(SCN_FWD(t).end());
2909
810
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2910
2911
    template <typename T,
2912
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2913
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2914
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2915
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2916
    {
2917
        return decay_copy(end(SCN_FWD(t)));
2918
    }
2919
2920
public:
2921
    template <typename T>
2922
    constexpr auto operator()(T&& t) const
2923
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2924
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2925
7.18k
    {
2926
7.18k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
7.18k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
2.20k
    {
2926
2.20k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
2.20k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
2.02k
    {
2926
2.02k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
2.02k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
2.14k
    {
2926
2.14k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
2.14k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2925
810
    {
2926
810
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2927
810
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2928
};
2929
2930
}  // namespace detail::end_
2931
2932
inline constexpr auto end = detail::end_::fn{};
2933
2934
namespace detail {
2935
struct range_concept {
2936
    template <typename T>
2937
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2938
};
2939
}  // namespace detail
2940
2941
template <typename T>
2942
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2943
2944
template <typename T>
2945
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2946
2947
template <typename R>
2948
using sentinel_t =
2949
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2950
2951
template <typename R>
2952
using range_difference_t =
2953
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2954
2955
template <typename R>
2956
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2957
2958
template <typename R>
2959
using range_reference_t =
2960
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2961
2962
namespace detail {
2963
template <typename, typename = void>
2964
inline constexpr bool is_object_pointer_v = false;
2965
template <typename P>
2966
inline constexpr bool
2967
    is_object_pointer_v<P,
2968
                        std::enable_if_t<std::is_pointer_v<P> &&
2969
                                         std::is_object_v<iter_value_t<P>>>> =
2970
        true;
2971
2972
namespace data_ {
2973
2974
struct fn {
2975
private:
2976
    template <typename T,
2977
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2978
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2979
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2980
350k
    {
2981
350k
        return t.data();
2982
350k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
8.66k
    {
2981
8.66k
        return t.data();
2982
8.66k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
131k
    {
2981
131k
        return t.data();
2982
131k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2980
210k
    {
2981
210k
        return t.data();
2982
210k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
2983
2984
    template <typename T>
2985
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2986
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2987
        -> std::enable_if_t<
2988
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2989
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2990
0
    {
2991
0
        return scn::ranges::begin(SCN_FWD(t));
2992
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
2993
2994
public:
2995
    template <typename T>
2996
    constexpr auto operator()(T&& t) const
2997
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2998
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2999
350k
    {
3000
350k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
350k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
8.66k
    {
3000
8.66k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
8.66k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
131k
    {
3000
131k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
131k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2999
210k
    {
3000
210k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3001
210k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3002
};
3003
3004
}  // namespace data_
3005
}  // namespace detail
3006
3007
inline constexpr auto data = detail::data_::fn{};
3008
3009
template <typename T>
3010
inline constexpr bool disable_sized_range = false;
3011
3012
namespace detail::size_ {
3013
3014
template <typename T>
3015
void size(T&&) = delete;
3016
template <typename T>
3017
void size(T&) = delete;
3018
3019
struct fn {
3020
private:
3021
    template <typename T, std::size_t N>
3022
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3023
    {
3024
        return N;
3025
    }
3026
3027
    template <typename T, std::size_t N>
3028
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3029
    {
3030
        return N;
3031
    }
3032
3033
    template <typename T,
3034
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3035
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3036
        noexcept(decay_copy(SCN_FWD(t).size())))
3037
        -> std::enable_if_t<std::is_integral_v<I> &&
3038
                                !disable_sized_range<remove_cvref_t<T>>,
3039
                            I>
3040
149k
    {
3041
149k
        return decay_copy(SCN_FWD(t).size());
3042
149k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
98
    {
3041
98
        return decay_copy(SCN_FWD(t).size());
3042
98
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
94
    {
3041
94
        return decay_copy(SCN_FWD(t).size());
3042
94
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
16
    {
3041
16
        return decay_copy(SCN_FWD(t).size());
3042
16
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
49.8k
    {
3041
49.8k
        return decay_copy(SCN_FWD(t).size());
3042
49.8k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3040
99.7k
    {
3041
99.7k
        return decay_copy(SCN_FWD(t).size());
3042
99.7k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
3043
3044
    template <typename T,
3045
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3046
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3047
        noexcept(decay_copy(size(SCN_FWD(t)))))
3048
        -> std::enable_if_t<std::is_integral_v<I> &&
3049
                                !disable_sized_range<remove_cvref_t<T>>,
3050
                            I>
3051
    {
3052
        return decay_copy(size(SCN_FWD(t)));
3053
    }
3054
3055
    template <typename T,
3056
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3057
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3058
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3059
                                                             SCN_DECLVAL(I)))>
3060
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3061
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3062
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3063
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3064
                            D>
3065
    {
3066
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3067
    }
3068
3069
public:
3070
    template <typename T>
3071
    constexpr auto operator()(T&& t) const
3072
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3073
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3074
149k
    {
3075
149k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
149k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
3074
98
    {
3075
98
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
98
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3074
94
    {
3075
94
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
94
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3074
16
    {
3075
16
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
16
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3074
49.8k
    {
3075
49.8k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
49.8k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3074
99.7k
    {
3075
99.7k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3076
99.7k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
3077
};
3078
3079
}  // namespace detail::size_
3080
3081
inline constexpr auto size = detail::size_::fn{};
3082
3083
namespace detail {
3084
namespace ssize_ {
3085
struct fn {
3086
private:
3087
    template <typename T>
3088
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3089
                                                  sizeof(std::ptrdiff_t),
3090
                                              std::ptrdiff_t,
3091
                                              range_difference_t<T>>;
3092
3093
    template <typename T>
3094
    static constexpr auto impl(T&& t) noexcept(
3095
        noexcept(ranges::size(std::forward<T>(t))))
3096
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3097
208
    {
3098
208
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
208
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
3097
98
    {
3098
98
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
98
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
3097
94
    {
3098
94
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
94
    }
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3097
16
    {
3098
16
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3099
16
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3100
3101
public:
3102
    template <typename T>
3103
    constexpr auto operator()(T&& t) const
3104
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3105
            -> decltype(fn::impl(std::forward<T>(t)))
3106
208
    {
3107
208
        return fn::impl(std::forward<T>(t));
3108
208
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
3106
98
    {
3107
98
        return fn::impl(std::forward<T>(t));
3108
98
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
3106
94
    {
3107
94
        return fn::impl(std::forward<T>(t));
3108
94
    }
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3106
16
    {
3107
16
        return fn::impl(std::forward<T>(t));
3108
16
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3109
};
3110
}  // namespace ssize_
3111
}  // namespace detail
3112
3113
inline constexpr auto ssize = detail::ssize_::fn{};
3114
3115
namespace detail::empty_ {
3116
struct fn {
3117
private:
3118
    template <typename T>
3119
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3120
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3121
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3122
    {
3123
        return static_cast<bool>(SCN_FWD(t).empty());
3124
    }
3125
3126
    template <typename T>
3127
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3128
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3129
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3130
    {
3131
        return ranges::size(SCN_FWD(t)) == 0;
3132
    }
3133
3134
    template <typename T,
3135
              typename I = decltype(ranges::begin(std::declval<T>()))>
3136
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3137
        noexcept(ranges::begin(t) == ranges::end(t)))
3138
        -> std::enable_if_t<forward_iterator<I>,
3139
                            decltype(ranges::begin(t) == ranges::end(t))>
3140
    {
3141
        return ranges::begin(t) == ranges::end(t);
3142
    }
3143
3144
public:
3145
    template <typename T>
3146
    constexpr auto operator()(T&& t) const
3147
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3148
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3149
    {
3150
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3151
    }
3152
};
3153
}  // namespace detail::empty_
3154
3155
inline constexpr auto empty = detail::empty_::fn{};
3156
3157
/**
3158
 * \see `std::ranges::borrowed_range`
3159
 */
3160
template <typename T>
3161
inline constexpr bool borrowed_range =
3162
    range<T> && (std::is_lvalue_reference_v<T> ||
3163
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3164
3165
namespace detail {
3166
struct sized_range_concept {
3167
    template <typename T>
3168
    auto requires_(T& t) -> decltype(ranges::size(t));
3169
};
3170
}  // namespace detail
3171
3172
template <typename T>
3173
inline constexpr bool sized_range =
3174
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3175
    detail::requires_<detail::sized_range_concept, T>;
3176
3177
namespace detail {
3178
struct output_range_concept {
3179
    template <typename, typename>
3180
    static auto test(long) -> std::false_type;
3181
3182
    template <typename R, typename T>
3183
    static auto test(int)
3184
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3185
                            std::true_type>;
3186
};
3187
}  // namespace detail
3188
3189
template <typename R, typename T>
3190
inline constexpr bool output_range =
3191
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3192
3193
namespace detail {
3194
struct input_range_concept {
3195
    template <typename>
3196
    static auto test(long) -> std::false_type;
3197
3198
    template <typename T>
3199
    static auto test(int)
3200
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3201
                            std::true_type>;
3202
};
3203
}  // namespace detail
3204
3205
template <typename T>
3206
inline constexpr bool input_range =
3207
    decltype(detail::input_range_concept::test<T>(0))::value;
3208
3209
namespace detail {
3210
struct forward_range_concept {
3211
    template <typename>
3212
    static auto test(long) -> std::false_type;
3213
3214
    template <typename T>
3215
    static auto test(int)
3216
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3217
                            std::true_type>;
3218
};
3219
}  // namespace detail
3220
3221
template <typename T>
3222
inline constexpr bool forward_range =
3223
    decltype(detail::forward_range_concept::test<T>(0))::value;
3224
3225
namespace detail {
3226
struct bidirectional_range_concept {
3227
    template <typename>
3228
    static auto test(long) -> std::false_type;
3229
3230
    template <typename T>
3231
    static auto test(int)
3232
        -> std::enable_if_t<forward_range<T> &&
3233
                                bidirectional_iterator<iterator_t<T>>,
3234
                            std::true_type>;
3235
};
3236
}  // namespace detail
3237
3238
template <typename T>
3239
inline constexpr bool bidirectional_range =
3240
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3241
3242
namespace detail {
3243
struct random_access_range_concept {
3244
    template <typename>
3245
    static auto test(long) -> std::false_type;
3246
3247
    template <typename T>
3248
    static auto test(int)
3249
        -> std::enable_if_t<bidirectional_range<T> &&
3250
                                random_access_iterator<iterator_t<T>>,
3251
                            std::true_type>;
3252
};
3253
}  // namespace detail
3254
3255
template <typename T>
3256
inline constexpr bool random_access_range =
3257
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3258
3259
namespace detail {
3260
// FIXME: Not to spec
3261
// We only require random_access_iterator, not contiguous_iterator
3262
// This is so that vector::iterator, string::iterator etc can model
3263
// contiguous_range.
3264
// If we do range-v3-style deep integration with iterator_traits then
3265
// this could be fixed
3266
struct contiguous_range_concept {
3267
    template <typename>
3268
    static auto test(long) -> std::false_type;
3269
3270
    template <typename T>
3271
    static auto test(int) -> std::enable_if_t<
3272
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3273
                                   * &&
3274
                                   */
3275
            detail::requires_<contiguous_range_concept, T>,
3276
        std::true_type>;
3277
3278
    template <typename T>
3279
    auto requires_(T& t)
3280
        -> decltype(requires_expr<std::is_same_v<
3281
                        decltype(ranges::data(t)),
3282
                        std::add_pointer_t<range_reference_t<T>>>>{});
3283
};
3284
}  // namespace detail
3285
3286
template <typename R>
3287
inline constexpr bool contiguous_range =
3288
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3289
3290
namespace detail {
3291
struct common_range_concept {
3292
    template <typename>
3293
    static auto test(long) -> std::false_type;
3294
3295
    template <typename T>
3296
    static auto test(int)
3297
        -> std::enable_if_t<range<T> &&
3298
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3299
                            std::true_type>;
3300
};
3301
}  // namespace detail
3302
3303
template <typename T>
3304
inline constexpr bool common_range =
3305
    decltype(detail::common_range_concept::test<T>(0))::value;
3306
3307
/**
3308
 * \see `std::ranges::dangling`
3309
 */
3310
struct dangling {
3311
    constexpr dangling() noexcept = default;
3312
3313
    template <typename... Args>
3314
    constexpr dangling(Args&&...) noexcept
3315
    {
3316
    }
3317
};
3318
3319
/**
3320
 * \see `std::ranges::borrowed_iterator_t`
3321
 */
3322
template <typename R>
3323
using borrowed_iterator_t =
3324
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3325
3326
template <typename D>
3327
class view_interface {
3328
    static_assert(std::is_class<D>::value, "");
3329
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3330
3331
private:
3332
    constexpr D& derived() noexcept
3333
345k
    {
3334
345k
        return static_cast<D&>(*this);
3335
345k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3333
135k
    {
3334
135k
        return static_cast<D&>(*this);
3335
135k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3333
210k
    {
3334
210k
        return static_cast<D&>(*this);
3335
210k
    }
3336
3337
    constexpr const D& derived() const noexcept
3338
0
    {
3339
0
        return static_cast<const D&>(*this);
3340
0
    }
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Unexecuted instantiation: scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
3341
3342
public:
3343
    template <typename R = D>
3344
    [[nodiscard]] constexpr auto empty()
3345
        -> std::enable_if_t<forward_range<R>, bool>
3346
    {
3347
        return ranges::begin(derived()) == ranges::end(derived());
3348
    }
3349
3350
    template <typename R = D>
3351
    [[nodiscard]] constexpr auto empty() const
3352
        -> std::enable_if_t<forward_range<const R>, bool>
3353
    {
3354
        return ranges::begin(derived()) == ranges::end(derived());
3355
    }
3356
3357
    template <typename R = D,
3358
              typename = decltype(ranges::empty(std::declval<R&>()))>
3359
    constexpr explicit operator bool()
3360
    {
3361
        return !ranges::empty(derived());
3362
    }
3363
3364
    template <typename R = D,
3365
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3366
    constexpr explicit operator bool() const
3367
    {
3368
        return !ranges::empty(derived());
3369
    }
3370
3371
    template <typename R = D,
3372
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3373
    constexpr auto data()
3374
345k
    {
3375
345k
        return detail::to_address(ranges::begin(derived()));
3376
345k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3374
135k
    {
3375
135k
        return detail::to_address(ranges::begin(derived()));
3376
135k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3374
210k
    {
3375
210k
        return detail::to_address(ranges::begin(derived()));
3376
210k
    }
3377
3378
    template <typename R = D,
3379
              typename = std::enable_if_t<
3380
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3381
    constexpr auto data() const
3382
0
    {
3383
0
        return detail::to_address(ranges::begin(derived()));
3384
0
    }
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Unexecuted instantiation: auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
3385
3386
    template <typename R = D,
3387
              typename = std::enable_if_t<
3388
                  forward_range<R> &&
3389
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3390
    constexpr auto size()
3391
    {
3392
        return ranges::end(derived()) - ranges::begin(derived());
3393
    }
3394
3395
    template <typename R = D,
3396
              typename = std::enable_if_t<
3397
                  forward_range<const R> &&
3398
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3399
    constexpr auto size() const
3400
    {
3401
        return ranges::end(derived()) - ranges::begin(derived());
3402
    }
3403
3404
#if 0
3405
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3406
    constexpr decltype(auto) front()
3407
    {
3408
        return *ranges::begin(derived());
3409
    }
3410
3411
    template <typename R = D,
3412
              typename = std::enable_if_t<forward_range<const R>>>
3413
    constexpr decltype(auto) front() const
3414
    {
3415
        return *ranges::begin(derived());
3416
    }
3417
3418
    template <
3419
        typename R = D,
3420
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3421
    constexpr decltype(auto) back()
3422
    {
3423
        return *ranges::prev(ranges::end(derived()));
3424
    }
3425
3426
    template <typename R = D,
3427
              typename = std::enable_if_t<bidirectional_range<const R> &&
3428
                                          common_range<const R>>>
3429
    constexpr decltype(auto) back() const
3430
    {
3431
        return *ranges::prev(ranges::end(derived()));
3432
    }
3433
3434
    template <typename R = D,
3435
              typename = std::enable_if_t<random_access_range<R>>>
3436
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3437
    {
3438
        return ranges::begin(derived())[n];
3439
    }
3440
#endif
3441
3442
    template <typename R = D,
3443
              typename = std::enable_if_t<random_access_range<const R>>>
3444
    constexpr decltype(auto) operator[](
3445
        iter_difference_t<iterator_t<const R>> n) const
3446
    {
3447
        return ranges::begin(derived())[n];
3448
    }
3449
};
3450
3451
namespace detail::subrange_ {
3452
3453
template <typename I, typename S = I>
3454
class subrange : public view_interface<subrange<I, S>> {
3455
    static_assert(input_or_output_iterator<I>);
3456
    static_assert(sentinel_for<S, I>);
3457
3458
public:
3459
149k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3459
49.8k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3459
99.7k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3460
3461
    template <typename I_,
3462
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3463
    constexpr subrange(I_ i, S s)
3464
885k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
885k
    {
3466
885k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3464
2.14k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
2.14k
    {
3466
2.14k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3464
39.2k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
39.2k
    {
3466
39.2k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Line
Count
Source
3464
810
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
810
    {
3466
810
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Line
Count
Source
3464
13.5k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
13.5k
    {
3466
13.5k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3464
6.95k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
6.95k
    {
3466
6.95k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Line
Count
Source
3464
2.63k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
2.63k
    {
3466
2.63k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3464
505k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
505k
    {
3466
505k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3464
314k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3465
314k
    {
3466
314k
    }
3467
3468
    template <
3469
        typename R,
3470
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3471
                         std::is_convertible_v<iterator_t<R>, I> &&
3472
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3473
    constexpr subrange(R&& r)
3474
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3475
    {
3476
    }
3477
3478
    constexpr I begin() const
3479
1.94M
    {
3480
1.94M
        return m_iterator;
3481
1.94M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3479
1.20M
    {
3480
1.20M
        return m_iterator;
3481
1.20M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3479
583k
    {
3480
583k
        return m_iterator;
3481
583k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3479
2.14k
    {
3480
2.14k
        return m_iterator;
3481
2.14k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3479
95.2k
    {
3480
95.2k
        return m_iterator;
3481
95.2k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3479
810
    {
3480
810
        return m_iterator;
3481
810
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3479
39.5k
    {
3480
39.5k
        return m_iterator;
3481
39.5k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3479
13.8k
    {
3480
13.8k
        return m_iterator;
3481
13.8k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3479
5.51k
    {
3480
5.51k
        return m_iterator;
3481
5.51k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3482
    constexpr S end() const
3483
1.64M
    {
3484
1.64M
        return m_sentinel;
3485
1.64M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3483
1.17M
    {
3484
1.17M
        return m_sentinel;
3485
1.17M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3483
341k
    {
3484
341k
        return m_sentinel;
3485
341k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3483
2.14k
    {
3484
2.14k
        return m_sentinel;
3485
2.14k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3483
85.1k
    {
3484
85.1k
        return m_sentinel;
3485
85.1k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3483
810
    {
3484
810
        return m_sentinel;
3485
810
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3483
28.3k
    {
3484
28.3k
        return m_sentinel;
3485
28.3k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Line
Count
Source
3483
10.4k
    {
3484
10.4k
        return m_sentinel;
3485
10.4k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Line
Count
Source
3483
2.63k
    {
3484
2.63k
        return m_sentinel;
3485
2.63k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3486
3487
    SCN_NODISCARD constexpr bool empty() const
3488
    {
3489
        return m_iterator == m_sentinel;
3490
    }
3491
3492
    template <typename I_ = I,
3493
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3494
    constexpr std::size_t size() const
3495
237k
    {
3496
237k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
237k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3495
121k
    {
3496
121k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
121k
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3495
115k
    {
3496
115k
        return static_cast<size_t>(m_sentinel - m_iterator);
3497
115k
    }
3498
3499
private:
3500
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3501
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3502
};
3503
3504
template <typename I,
3505
          typename S,
3506
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3507
              nullptr>
3508
subrange(I, S) -> subrange<I, S>;
3509
3510
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3511
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3512
3513
}  // namespace detail::subrange_
3514
3515
/**
3516
 * \see `std::ranges::subrange`
3517
 */
3518
using detail::subrange_::subrange;
3519
3520
template <typename I, typename S>
3521
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3522
3523
struct default_sentinel_t {};
3524
inline constexpr default_sentinel_t default_sentinel{};
3525
3526
}  // namespace ranges
3527
3528
namespace detail {
3529
3530
namespace char_t_fn {
3531
template <typename T, typename = typename T::value_type>
3532
constexpr auto impl_nonarray(priority_tag<2>)
3533
0
{
3534
0
    return tag_type<typename T::value_type>{};
3535
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3536
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3537
constexpr auto impl_nonarray(priority_tag<1>)
3538
0
{
3539
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3540
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3541
template <typename T>
3542
constexpr auto impl_nonarray(priority_tag<0>)
3543
{
3544
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3545
}
3546
3547
template <typename T,
3548
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3549
constexpr auto impl()
3550
0
{
3551
0
    using T_nocvref = remove_cvref_t<T>;
3552
0
    if constexpr (std::is_array_v<T_nocvref>) {
3553
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3554
0
    }
3555
0
    else {
3556
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3557
0
    }
3558
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3559
3560
template <typename Range>
3561
using result = decltype(impl<Range>());
3562
}  // namespace char_t_fn
3563
3564
template <typename Range>
3565
using char_t = typename char_t_fn::result<Range>::type;
3566
3567
template <typename Range, typename = void>
3568
inline constexpr bool is_file_or_narrow_range_impl = false;
3569
template <>
3570
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3571
template <typename Range>
3572
inline constexpr bool
3573
    is_file_or_narrow_range_impl<Range,
3574
                                 std::enable_if_t<ranges::range<Range>>> =
3575
        std::is_same_v<char_t<Range>, char>;
3576
3577
template <typename Range>
3578
inline constexpr bool is_file_or_narrow_range =
3579
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3580
3581
template <typename Range, typename = void>
3582
inline constexpr bool is_wide_range = false;
3583
template <typename Range>
3584
inline constexpr bool
3585
    is_wide_range<Range,
3586
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3587
        std::is_same_v<char_t<Range>, wchar_t>;
3588
3589
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3590
struct borrowed_tail_subrange {
3591
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3592
};
3593
template <typename R>
3594
struct borrowed_tail_subrange<R, false> {
3595
    using type = ranges::dangling;
3596
};
3597
3598
/// Equivalent to
3599
/// `ranges::subrange<ranges::iterator_t<R>,
3600
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3601
/// `ranges::dangling` otherwise.
3602
///
3603
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3604
/// the range sentinel.
3605
template <typename R>
3606
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3607
3608
}  // namespace detail
3609
3610
namespace ranges {
3611
template <typename CharT, typename Traits>
3612
inline constexpr bool
3613
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3614
}
3615
3616
/////////////////////////////////////////////////////////////////
3617
// Small generic algorithms
3618
/////////////////////////////////////////////////////////////////
3619
3620
namespace detail {
3621
3622
/**
3623
 * Implementation of `std::min_element` without including `<algorithm>`
3624
 */
3625
template <typename It>
3626
constexpr It min_element(It first, It last)
3627
{
3628
    if (first == last) {
3629
        return last;
3630
    }
3631
3632
    It smallest = first;
3633
    ++first;
3634
    for (; first != last; ++first) {
3635
        if (*first < *smallest) {
3636
            smallest = first;
3637
        }
3638
    }
3639
    return smallest;
3640
}
3641
3642
/**
3643
 * Implementation of `std::min` without including `<algorithm>`
3644
 */
3645
template <typename T>
3646
constexpr T min(T a, T b) noexcept
3647
{
3648
    return (b < a) ? b : a;
3649
}
3650
3651
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3652
constexpr Ptr find(Ptr first, Ptr last, T value)
3653
{
3654
    for (; first != last; ++first) {
3655
        if (*first == value) {
3656
            return first;
3657
        }
3658
    }
3659
    return last;
3660
}
3661
3662
template <>
3663
inline const char* find<false, char>(const char* first,
3664
                                     const char* last,
3665
                                     char value)
3666
0
{
3667
0
    auto ptr = static_cast<const char*>(
3668
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3669
0
    return ptr != nullptr ? ptr : last;
3670
0
}
3671
3672
}  // namespace detail
3673
3674
/////////////////////////////////////////////////////////////////
3675
// Errors
3676
/////////////////////////////////////////////////////////////////
3677
3678
/**
3679
 * Error class.
3680
 * Used as a return value for functions without a success value.
3681
 * Doesn't have a success state, and isn't default constructible:
3682
 * use `expected<void, scan_error>` to achieve that.
3683
 *
3684
 * \ingroup result
3685
 */
3686
class SCN_TRIVIAL_ABI scan_error {
3687
public:
3688
    /// Error code
3689
    enum code {
3690
        /// Input ended unexpectedly.
3691
        end_of_input,
3692
3693
        /// Format string was invalid.
3694
        /// Often a compile-time error, if supported or enabled.
3695
        invalid_format_string,
3696
3697
        /// Scanned value was invalid for given type,
3698
        /// or a value of the given couldn't be scanned.
3699
        invalid_scanned_value,
3700
3701
        /// Literal character specified in format string not found in source.
3702
        invalid_literal,
3703
3704
        /// Too many fill characters scanned,
3705
        /// field precision (max width) exceeded.
3706
        invalid_fill,
3707
3708
        /// Scanned field width was shorter than
3709
        /// what was specified as the minimum field width.
3710
        length_too_short,
3711
3712
        /// Source range is in an invalid state,
3713
        /// failed to continue reading.
3714
        invalid_source_state,
3715
3716
        /// Value out of range, too large (higher than the maximum value)
3717
        /// i.e. >2^32 for int32
3718
        value_positive_overflow,
3719
3720
        /// Value out of range, too small (lower than the minimum value)
3721
        /// i.e. <2^32 for int32
3722
        value_negative_overflow,
3723
3724
        /// Value out of range, magnitude too small, sign +
3725
        /// (between 0 and the smallest subnormal float)
3726
        value_positive_underflow,
3727
3728
        /// Value out of range, magnitude too small, sign -
3729
        /// (between 0 and the smallest subnormal float)
3730
        value_negative_underflow,
3731
3732
        max_error
3733
    };
3734
3735
private:
3736
    using code_t = code;
3737
3738
public:
3739
    /// Constructs an error with `c` and `m`
3740
294k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3741
294k
    {
3742
294k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3743
294k
    }
3744
3745
    constexpr explicit operator code_t() const noexcept
3746
0
    {
3747
0
        return m_code;
3748
0
    }
3749
3750
    /// Get error code
3751
    SCN_NODISCARD constexpr code_t code() const noexcept
3752
3.50k
    {
3753
3.50k
        return m_code;
3754
3.50k
    }
3755
    /// Get error message
3756
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3757
0
    {
3758
0
        return m_msg;
3759
0
    }
3760
3761
    /// Convert to a `std::errc`.
3762
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3763
0
    {
3764
0
        switch (m_code) {
3765
0
            case end_of_input:
3766
0
            case invalid_format_string:
3767
0
            case invalid_scanned_value:
3768
0
            case invalid_literal:
3769
0
            case invalid_fill:
3770
0
            case length_too_short:
3771
0
                return std::errc::invalid_argument;
3772
0
            case invalid_source_state:
3773
0
                return std::errc::io_error;
3774
0
            case value_positive_overflow:
3775
0
            case value_negative_overflow:
3776
0
            case value_positive_underflow:
3777
0
            case value_negative_underflow:
3778
0
                return std::errc::result_out_of_range;
3779
0
            case max_error:
3780
0
            default:
3781
0
                assert(false);
3782
0
                SCN_UNREACHABLE;
3783
0
        }
3784
0
    }
3785
3786
private:
3787
    const char* m_msg;
3788
    code_t m_code;
3789
};
3790
3791
constexpr bool operator==(scan_error a, scan_error b) noexcept
3792
0
{
3793
0
    return a.code() == b.code();
3794
0
}
3795
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3796
0
{
3797
0
    return !(a == b);
3798
0
}
3799
3800
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3801
0
{
3802
0
    return a.code() == b;
3803
0
}
3804
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3805
0
{
3806
0
    return !(a == b);
3807
0
}
3808
3809
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3810
0
{
3811
0
    return a == b.code();
3812
0
}
3813
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3814
0
{
3815
0
    return !(a == b);
3816
0
}
3817
3818
namespace detail {
3819
// Intentionally not constexpr, to give out a compile-time error
3820
SCN_COLD scan_error handle_error(scan_error e);
3821
}  // namespace detail
3822
3823
#if SCN_HAS_EXCEPTIONS
3824
3825
namespace detail {
3826
3827
class scan_format_string_error_base : public std::runtime_error {
3828
public:
3829
    explicit scan_format_string_error_base(const std::string& what_arg)
3830
        : runtime_error(what_arg)
3831
0
    {
3832
0
    }
3833
3834
    explicit scan_format_string_error_base(std::false_type,
3835
                                           const char* what_arg)
3836
        : runtime_error(what_arg)
3837
0
    {
3838
0
    }
3839
3840
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3841
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3842
0
    {
3843
0
    }
3844
3845
    // Doing everything in a `detail::` base class
3846
    // to make this a `friend` inside that namespace
3847
    // (essentially private)
3848
    friend const char* get_internal_literal_msg(
3849
        const scan_format_string_error_base& m)
3850
0
    {
3851
0
        return m.m_internal_literal_msg;
3852
0
    }
3853
3854
private:
3855
    const char* m_internal_literal_msg{nullptr};
3856
};
3857
3858
}  // namespace detail
3859
3860
/**
3861
 * An exception type used to report format string parsing errors.
3862
 */
3863
class scan_format_string_error : public detail::scan_format_string_error_base {
3864
public:
3865
    // Not `using` constructors to document them explicitly.
3866
3867
    /**
3868
     * Construct from a `std::string`.
3869
     */
3870
    explicit scan_format_string_error(const std::string& what_arg)
3871
        : scan_format_string_error_base(what_arg)
3872
0
    {
3873
0
    }
3874
3875
    /**
3876
     * Construct from a `const char*`.
3877
     */
3878
    explicit scan_format_string_error(const char* what_arg)
3879
        : scan_format_string_error_base(std::false_type{}, what_arg)
3880
0
    {
3881
0
    }
3882
3883
    /**
3884
     * Construct from a string literal.
3885
     */
3886
    template <std::size_t N>
3887
    explicit scan_format_string_error(const char (&what_arg)[N])
3888
        : scan_format_string_error_base(std::true_type{}, what_arg)
3889
    {
3890
    }
3891
};
3892
#endif
3893
3894
/**
3895
 * An `expected<T, scan_error>`.
3896
 *
3897
 * Not a type alias to shorten template names.
3898
 *
3899
 * \ingroup result
3900
 */
3901
template <typename T>
3902
struct scan_expected : public expected<T, scan_error> {
3903
    using expected<T, scan_error>::expected;
3904
3905
    scan_expected(const expected<T, scan_error>& other)
3906
        : expected<T, scan_error>(other)
3907
    {
3908
    }
3909
    scan_expected(expected<T, scan_error>&& other)
3910
4.52k
        : expected<T, scan_error>(SCN_MOVE(other))
3911
4.52k
    {
3912
4.52k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Line
Count
Source
3910
1.74k
        : expected<T, scan_error>(SCN_MOVE(other))
3911
1.74k
    {
3912
1.74k
    }
scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
Line
Count
Source
3910
948
        : expected<T, scan_error>(SCN_MOVE(other))
3911
948
    {
3912
948
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Line
Count
Source
3910
878
        : expected<T, scan_error>(SCN_MOVE(other))
3911
878
    {
3912
878
    }
scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
Line
Count
Source
3910
956
        : expected<T, scan_error>(SCN_MOVE(other))
3911
956
    {
3912
956
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
3913
};
3914
3915
namespace detail {
3916
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3917
142k
{
3918
142k
    return unexpected(scan_error{c, m});
3919
142k
}
3920
3921
template <typename T>
3922
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3923
}  // namespace detail
3924
3925
40.4k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3926
40.4k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3927
40.4k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3928
3929
#define SCN_TRY_DISCARD(x)                                      \
3930
53.3k
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3931
15.6k
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3932
15.6k
    }
3933
3934
#define SCN_TRY_ASSIGN(init, x)                        \
3935
111k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
8
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
322
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
20
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3935
156
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3936
111k
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3937
24.7k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3938
24.7k
    }                                                  \
3939
111k
    init = *SCN_FWD(SCN_TRY_TMP);
3940
98.5k
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3941
3942
/////////////////////////////////////////////////////////////////
3943
// string_view utilities
3944
/////////////////////////////////////////////////////////////////
3945
3946
namespace detail {
3947
3948
template <typename T>
3949
struct is_string_view : std::false_type {};
3950
template <typename CharT, typename Traits>
3951
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3952
};
3953
3954
// workarounds for MSVC string_view debug iterators
3955
template <typename CharT>
3956
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3957
    typename std::basic_string_view<CharT>::iterator first,
3958
    typename std::basic_string_view<CharT>::iterator last)
3959
857k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
857k
    else {
3966
857k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
857k
                                       to_address(first), to_address(last)))};
3968
857k
    }
3969
857k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3959
802k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
802k
    else {
3966
802k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
802k
                                       to_address(first), to_address(last)))};
3968
802k
    }
3969
802k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3959
54.9k
{
3960
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3961
                                          decltype(first), decltype(last)> &&
3962
                  !SCN_MSVC_DEBUG_ITERATORS) {
3963
        return {first, last};
3964
    }
3965
54.9k
    else {
3966
54.9k
        return {to_address(first), static_cast<size_t>(std::distance(
3967
54.9k
                                       to_address(first), to_address(last)))};
3968
54.9k
    }
3969
54.9k
}
3970
3971
template <typename CharT>
3972
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3973
    const CharT* first,
3974
    const CharT* last)
3975
98.8k
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
98.8k
    else {
3981
98.8k
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
98.8k
    }
3983
98.8k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3975
43.4k
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
43.4k
    else {
3981
43.4k
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
43.4k
    }
3983
43.4k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3975
55.4k
{
3976
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3977
                                          const CharT*, const CharT*>) {
3978
        return {first, last};
3979
    }
3980
55.4k
    else {
3981
55.4k
        return {first, static_cast<size_t>(std::distance(first, last))};
3982
55.4k
    }
3983
55.4k
}
3984
3985
template <typename CharT>
3986
constexpr auto make_string_view_iterator(
3987
    std::basic_string_view<CharT> sv,
3988
    typename std::basic_string_view<CharT>::iterator it) ->
3989
    typename std::basic_string_view<CharT>::iterator
3990
364k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
364k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
364k
        SCN_UNUSED(sv);
3996
364k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
364k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3990
355k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
355k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
355k
        SCN_UNUSED(sv);
3996
355k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
355k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3990
9.13k
{
3991
    if constexpr (std::is_constructible_v<
3992
                      typename std::basic_string_view<CharT>::iterator,
3993
                      decltype(it)> &&
3994
9.13k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3995
9.13k
        SCN_UNUSED(sv);
3996
9.13k
        return it;
3997
    }
3998
    else {
3999
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
4000
    }
4001
9.13k
}
4002
4003
template <typename CharT>
4004
constexpr auto make_string_view_iterator_from_pointer(
4005
    std::basic_string_view<CharT> sv,
4006
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4007
{
4008
    if constexpr (std::is_constructible_v<
4009
                      typename std::basic_string_view<CharT>::iterator,
4010
                      const CharT*> &&
4011
                  !SCN_MSVC_DEBUG_ITERATORS) {
4012
        SCN_UNUSED(sv);
4013
        return ptr;
4014
    }
4015
    else {
4016
        return sv.begin() + std::distance(sv.data(), ptr);
4017
    }
4018
}
4019
4020
/////////////////////////////////////////////////////////////////
4021
// Lightweight Unicode facilities
4022
/////////////////////////////////////////////////////////////////
4023
4024
constexpr inline bool is_ascii_code_point(char32_t cp)
4025
0
{
4026
0
    return cp <= 0x7f;
4027
0
}
4028
4029
template <typename U8>
4030
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4031
2.79M
{
4032
2.79M
    static_assert(sizeof(U8) == 1);
4033
4034
2.79M
    SCN_GCC_COMPAT_PUSH
4035
2.79M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4036
2.79M
    constexpr char lengths[] =
4037
2.79M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4038
2.79M
        "\1\1\1\1\1\1\1\1"
4039
2.79M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4040
                            // byte
4041
2.79M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4042
2.79M
        "\3\3"              // highest bits 1110 -> 3-byte cp
4043
2.79M
        "\4";               // highest bits 11110 -> 4-byte cp
4044
2.79M
    return lengths[static_cast<unsigned char>(ch) >> 3];
4045
2.79M
    SCN_GCC_COMPAT_POP
4046
2.79M
}
4047
4048
template <typename U16>
4049
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4050
{
4051
    static_assert(sizeof(U16) == 2);
4052
4053
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4054
    if (lead >= 0xd800 && lead <= 0xdbff) {
4055
        // high surrogate
4056
        return 2;
4057
    }
4058
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4059
        // unpaired low surrogate
4060
        return 0;
4061
    }
4062
    return 1;
4063
}
4064
4065
template <typename U>
4066
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4067
3.03M
{
4068
3.03M
    if constexpr (sizeof(U) == 1) {
4069
2.79M
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
243k
    else {
4075
        // utf-32
4076
243k
        static_assert(sizeof(U) == 4);
4077
243k
        SCN_UNUSED(ch);
4078
243k
        return 1;
4079
243k
    }
4080
3.03M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4067
2.79M
{
4068
2.79M
    if constexpr (sizeof(U) == 1) {
4069
2.79M
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
    else {
4075
        // utf-32
4076
        static_assert(sizeof(U) == 4);
4077
        SCN_UNUSED(ch);
4078
        return 1;
4079
    }
4080
2.79M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4067
243k
{
4068
    if constexpr (sizeof(U) == 1) {
4069
        return utf8_code_point_length_by_starting_code_unit(ch);
4070
    }
4071
    else if constexpr (sizeof(U) == 2) {
4072
        return utf16_code_point_length_by_starting_code_unit(ch);
4073
    }
4074
243k
    else {
4075
        // utf-32
4076
243k
        static_assert(sizeof(U) == 4);
4077
243k
        SCN_UNUSED(ch);
4078
243k
        return 1;
4079
243k
    }
4080
243k
}
4081
4082
inline constexpr char32_t invalid_code_point = 0x110000;
4083
4084
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4085
    std::string_view input)
4086
2.55M
{
4087
2.55M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4088
4089
2.55M
    const auto is_trailing_code_unit = [](char ch) {
4090
470k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4091
470k
    };
4092
4093
2.55M
    if (input.size() == 1) {
4094
2.12M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4095
132
            SCN_UNLIKELY_ATTR
4096
132
            return invalid_code_point;
4097
132
        }
4098
2.12M
        return static_cast<char32_t>(input[0]);
4099
2.12M
    }
4100
4101
425k
    if (input.size() == 2) {
4102
379k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4103
18
            SCN_UNLIKELY_ATTR
4104
18
            return invalid_code_point;
4105
18
        }
4106
379k
        if (!is_trailing_code_unit(input[1])) {
4107
4.49k
            SCN_UNLIKELY_ATTR
4108
4.49k
            return invalid_code_point;
4109
4.49k
        }
4110
4111
374k
        char32_t cp{};
4112
374k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4113
374k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4114
374k
        return cp;
4115
379k
    }
4116
4117
46.1k
    if (input.size() == 3) {
4118
41.3k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4119
18
            SCN_UNLIKELY_ATTR
4120
18
            return invalid_code_point;
4121
18
        }
4122
41.3k
        if (!is_trailing_code_unit(input[1]) ||
4123
41.3k
            !is_trailing_code_unit(input[2])) {
4124
2.85k
            SCN_UNLIKELY_ATTR
4125
2.85k
            return invalid_code_point;
4126
2.85k
        }
4127
4128
38.5k
        char32_t cp{};
4129
38.5k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4130
38.5k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4131
38.5k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4132
38.5k
        return cp;
4133
41.3k
    }
4134
4135
4.80k
    if (input.size() == 4) {
4136
4.80k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4137
0
            SCN_UNLIKELY_ATTR
4138
0
            return invalid_code_point;
4139
0
        }
4140
4.80k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4141
280
            SCN_UNLIKELY_ATTR
4142
280
            return invalid_code_point;
4143
280
        }
4144
4.52k
        if (!is_trailing_code_unit(input[1]) ||
4145
4.52k
            !is_trailing_code_unit(input[2]) ||
4146
4.52k
            !is_trailing_code_unit(input[3])) {
4147
1.69k
            SCN_UNLIKELY_ATTR
4148
1.69k
            return invalid_code_point;
4149
1.69k
        }
4150
4151
2.82k
        char32_t cp{};
4152
2.82k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4153
2.82k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4154
2.82k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4155
2.82k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4156
2.82k
        return cp;
4157
4.52k
    }
4158
4159
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4160
    // gcc 7 thinks we'll get here, even when we won't
4161
0
    SCN_EXPECT(false);
4162
0
#endif
4163
0
    SCN_UNREACHABLE;
4164
0
}
4165
4166
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4167
    std::string_view input)
4168
107k
{
4169
107k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4170
4171
107k
    const auto is_trailing_code_unit = [](char ch) {
4172
16.7k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4173
16.7k
    };
4174
4175
107k
    if (input.size() == 1) {
4176
91.2k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4177
91.2k
        return static_cast<char32_t>(input[0]);
4178
91.2k
    }
4179
4180
15.8k
    if (input.size() == 2) {
4181
15.1k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4182
15.1k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4183
4184
15.1k
        char32_t cp{};
4185
15.1k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4186
15.1k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4187
15.1k
        return cp;
4188
15.1k
    }
4189
4190
778
    if (input.size() == 3) {
4191
656
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4192
656
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4193
656
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4194
4195
656
        char32_t cp{};
4196
656
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4197
656
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4198
656
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4199
656
        return cp;
4200
656
    }
4201
4202
122
    if (input.size() == 4) {
4203
122
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4204
122
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4205
122
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4206
122
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4207
122
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4208
4209
122
        char32_t cp{};
4210
122
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4211
122
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4212
122
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4213
122
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4214
122
        return cp;
4215
122
    }
4216
4217
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4218
    // gcc 7 thinks we'll get here, even when we won't
4219
0
    SCN_EXPECT(false);
4220
0
#endif
4221
0
    SCN_UNREACHABLE;
4222
0
}
4223
4224
template <typename CharT>
4225
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4226
    std::basic_string_view<CharT> input)
4227
{
4228
    static_assert(sizeof(CharT) == 2);
4229
4230
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4231
4232
    if (input.size() == 1) {
4233
        return static_cast<char32_t>(input[0]);
4234
    }
4235
4236
    const auto lead = static_cast<uint32_t>(input[0]);
4237
    const auto trail = static_cast<uint32_t>(input[1]);
4238
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4239
        SCN_UNLIKELY_ATTR
4240
        return invalid_code_point;
4241
    }
4242
4243
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4244
    return static_cast<char32_t>(cp + 0x10000);
4245
}
4246
4247
template <typename CharT>
4248
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4249
    std::basic_string_view<CharT> input)
4250
{
4251
    static_assert(sizeof(CharT) == 2);
4252
4253
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4254
4255
    if (input.size() == 1) {
4256
        return static_cast<char32_t>(input[0]);
4257
    }
4258
4259
    const auto lead = static_cast<uint32_t>(input[0]);
4260
    const auto trail = static_cast<uint32_t>(input[1]);
4261
    SCN_EXPECT(lead >= 0xd800);
4262
    SCN_EXPECT(lead <= 0xdbff);
4263
    SCN_EXPECT(trail >= 0xdc00);
4264
    SCN_EXPECT(trail <= 0xdfff);
4265
4266
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4267
    return static_cast<char32_t>(cp + 0x10000);
4268
}
4269
4270
template <typename CharT>
4271
inline constexpr char32_t decode_code_point_exhaustive(
4272
    std::basic_string_view<CharT> input)
4273
2.75M
{
4274
2.75M
    if constexpr (sizeof(CharT) == 1) {
4275
2.55M
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
205k
    else {
4281
205k
        SCN_EXPECT(input.size() == 1);
4282
205k
        auto cp = static_cast<char32_t>(input.front());
4283
205k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
38.5k
            return invalid_code_point;
4285
38.5k
        }
4286
166k
        return cp;
4287
205k
    }
4288
2.75M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4273
2.55M
{
4274
2.55M
    if constexpr (sizeof(CharT) == 1) {
4275
2.55M
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
    else {
4281
        SCN_EXPECT(input.size() == 1);
4282
        auto cp = static_cast<char32_t>(input.front());
4283
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
            return invalid_code_point;
4285
        }
4286
        return cp;
4287
    }
4288
2.55M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4273
205k
{
4274
    if constexpr (sizeof(CharT) == 1) {
4275
        return decode_utf8_code_point_exhaustive(input);
4276
    }
4277
    else if constexpr (sizeof(CharT) == 2) {
4278
        return decode_utf16_code_point_exhaustive(input);
4279
    }
4280
205k
    else {
4281
205k
        SCN_EXPECT(input.size() == 1);
4282
205k
        auto cp = static_cast<char32_t>(input.front());
4283
205k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4284
38.5k
            return invalid_code_point;
4285
38.5k
        }
4286
166k
        return cp;
4287
205k
    }
4288
205k
}
4289
4290
template <typename CharT>
4291
inline constexpr char32_t decode_code_point_exhaustive_valid(
4292
    std::basic_string_view<CharT> input)
4293
107k
{
4294
107k
    if constexpr (sizeof(CharT) == 1) {
4295
107k
        return decode_utf8_code_point_exhaustive_valid(input);
4296
    }
4297
    else if constexpr (sizeof(CharT) == 2) {
4298
        return decode_utf16_code_point_exhaustive_valid(input);
4299
    }
4300
0
    else {
4301
0
        SCN_EXPECT(input.size() == 1);
4302
0
        return static_cast<char32_t>(input.front());
4303
0
    }
4304
107k
}
char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4293
107k
{
4294
107k
    if constexpr (sizeof(CharT) == 1) {
4295
107k
        return decode_utf8_code_point_exhaustive_valid(input);
4296
    }
4297
    else if constexpr (sizeof(CharT) == 2) {
4298
        return decode_utf16_code_point_exhaustive_valid(input);
4299
    }
4300
    else {
4301
        SCN_EXPECT(input.size() == 1);
4302
        return static_cast<char32_t>(input.front());
4303
    }
4304
107k
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4305
4306
inline constexpr bool is_cp_space(char32_t cp) noexcept
4307
187k
{
4308
    // Pattern_White_Space property
4309
187k
    return (cp >= 0x09 && cp <= 0x0d) ||
4310
187k
           cp == 0x20 ||    // ASCII space characters
4311
187k
           cp == 0x85 ||    // NEXT LINE (NEL)
4312
187k
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4313
187k
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4314
187k
           cp == 0x2028 ||  // LINE SEPARATOR
4315
187k
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4316
187k
}
4317
4318
}  // namespace detail
4319
4320
/////////////////////////////////////////////////////////////////
4321
// scan_buffer
4322
/////////////////////////////////////////////////////////////////
4323
4324
namespace detail {
4325
template <typename CharT>
4326
class basic_scan_buffer {
4327
public:
4328
    class forward_iterator;
4329
    class common_forward_iterator;
4330
4331
    using char_type = CharT;
4332
    using range_type =
4333
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4334
    using common_range_type = ranges::subrange<common_forward_iterator>;
4335
4336
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4337
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4338
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4339
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4340
0
    virtual ~basic_scan_buffer() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
4341
4342
    virtual bool fill() = 0;
4343
4344
    virtual bool sync(std::ptrdiff_t position)
4345
0
    {
4346
0
        SCN_UNUSED(position);
4347
0
        return true;
4348
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
4349
4350
    bool sync_all()
4351
0
    {
4352
0
        return sync(0);
4353
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::sync_all()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
4354
4355
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4356
0
    {
4357
0
        return m_putback_buffer.size() + m_current_view.size();
4358
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::chars_available() const
4359
4360
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4361
0
    {
4362
0
        return m_current_view;
4363
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4364
4365
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4366
0
    {
4367
0
        return m_putback_buffer;
4368
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4369
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4370
    {
4371
        return m_putback_buffer;
4372
    }
4373
4374
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4375
        std::ptrdiff_t pos) const
4376
0
    {
4377
0
        if (SCN_UNLIKELY(
4378
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4379
0
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4380
0
        }
4381
0
        const auto start = pos - m_putback_buffer.size();
4382
0
        SCN_EXPECT(start <= m_current_view.size());
4383
0
        return m_current_view.substr(start);
4384
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
4385
4386
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4387
0
    {
4388
0
        if (SCN_UNLIKELY(
4389
0
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4390
0
            return m_putback_buffer[pos];
4391
0
        }
4392
0
        const auto start = pos - m_putback_buffer.size();
4393
0
        SCN_EXPECT(start < m_current_view.size());
4394
0
        return m_current_view[start];
4395
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
4396
4397
    SCN_NODISCARD bool is_contiguous() const
4398
0
    {
4399
0
        return m_is_contiguous;
4400
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
4401
4402
    SCN_NODISCARD auto get_contiguous() const
4403
0
    {
4404
0
        SCN_EXPECT(is_contiguous());
4405
0
        return ranges::subrange<const CharT*>{
4406
0
            current_view().data(),
4407
0
            current_view().data() + current_view().size()};
4408
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4409
4410
    SCN_NODISCARD range_type get();
4411
    SCN_NODISCARD common_range_type get_common_range();
4412
4413
protected:
4414
    friend class forward_iterator;
4415
    friend class common_forward_iterator;
4416
4417
    struct contiguous_tag {};
4418
    struct non_contiguous_tag {};
4419
4420
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4421
0
        : m_current_view(sv), m_is_contiguous(true)
4422
0
    {
4423
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4424
4425
    basic_scan_buffer(non_contiguous_tag,
4426
                      std::basic_string_view<char_type> sv = {})
4427
0
        : m_current_view(sv), m_is_contiguous(false)
4428
0
    {
4429
0
    }
4430
4431
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4432
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4433
0
    {
4434
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4435
4436
    std::basic_string_view<char_type> m_current_view{};
4437
    std::basic_string<char_type> m_putback_buffer{};
4438
    bool m_is_contiguous{false};
4439
};
4440
4441
template <typename CharT>
4442
class basic_scan_buffer<CharT>::forward_iterator {
4443
public:
4444
    using value_type = CharT;
4445
    using reference = CharT;
4446
    using pointer = CharT*;
4447
    using difference_type = std::ptrdiff_t;
4448
    using iterator_category = std::forward_iterator_tag;
4449
4450
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4451
4452
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4453
0
        : m_begin(parent), m_end(nullptr), m_position(pos)
4454
0
    {
4455
0
        SCN_EXPECT(parent);
4456
0
        SCN_EXPECT(!parent->is_contiguous());
4457
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
4458
4459
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4460
0
        : m_begin(const_cast<CharT*>(view.data())),
4461
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4462
0
          m_position(pos)
4463
0
    {
4464
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4465
4466
    std::ptrdiff_t position() const
4467
0
    {
4468
0
        return m_position;
4469
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
4470
4471
    bool stores_parent() const
4472
0
    {
4473
0
        assert(m_begin);
4474
0
        return m_end == nullptr;
4475
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
4476
4477
    basic_scan_buffer<CharT>* parent()
4478
0
    {
4479
0
        SCN_EXPECT(stores_parent());
4480
0
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4481
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
4482
    const basic_scan_buffer<CharT>* parent() const
4483
0
    {
4484
0
        SCN_EXPECT(stores_parent());
4485
0
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4486
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
4487
4488
    std::basic_string_view<CharT> contiguous_segment() const
4489
0
    {
4490
0
        if (!stores_parent()) {
4491
0
            return make_string_view_from_pointers(
4492
0
                static_cast<const CharT*>(m_begin) + position(),
4493
0
                static_cast<const CharT*>(m_end));
4494
0
        }
4495
0
        return parent()->get_segment_starting_at(position());
4496
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
4497
    auto to_contiguous_segment_iterator() const
4498
    {
4499
        return contiguous_segment().data();
4500
    }
4501
4502
    forward_iterator& operator++()
4503
0
    {
4504
0
        ++m_position;
4505
0
        (void)read_at_position();
4506
0
        return *this;
4507
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
4508
4509
    forward_iterator operator++(int)
4510
    {
4511
        auto copy = *this;
4512
        operator++();
4513
        return copy;
4514
    }
4515
4516
    CharT operator*() const
4517
0
    {
4518
0
        SCN_EXPECT(m_begin);
4519
4520
0
        if (!stores_parent()) {
4521
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4522
0
            SCN_EXPECT(ptr != m_end);
4523
0
            return *ptr;
4524
0
        }
4525
4526
0
        auto res = read_at_position();
4527
0
        SCN_EXPECT(res);
4528
0
        return parent()->get_character_at(m_position);
4529
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
4530
4531
    forward_iterator& batch_advance(std::ptrdiff_t n)
4532
0
    {
4533
0
        SCN_EXPECT(n >= 0);
4534
0
        m_position += n;
4535
0
        return *this;
4536
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4537
4538
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4539
0
    {
4540
0
        SCN_EXPECT(i >= m_position);
4541
0
        m_position = i;
4542
0
        return *this;
4543
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4544
4545
    friend bool operator==(const forward_iterator& lhs,
4546
                           const forward_iterator& rhs)
4547
0
    {
4548
0
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4549
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4550
    friend bool operator!=(const forward_iterator& lhs,
4551
                           const forward_iterator& rhs)
4552
0
    {
4553
0
        return !(lhs == rhs);
4554
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
4555
4556
    friend bool operator==(const forward_iterator& x,
4557
                           ranges::default_sentinel_t)
4558
0
    {
4559
0
        return x.is_at_end();
4560
0
    }
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4561
    friend bool operator==(ranges::default_sentinel_t,
4562
                           const forward_iterator& x)
4563
    {
4564
        return x.is_at_end();
4565
    }
4566
4567
    friend bool operator!=(const forward_iterator& x,
4568
                           ranges::default_sentinel_t)
4569
0
    {
4570
0
        return !x.is_at_end();
4571
0
    }
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
4572
    friend bool operator!=(ranges::default_sentinel_t,
4573
                           const forward_iterator& x)
4574
    {
4575
        return !x.is_at_end();
4576
    }
4577
4578
private:
4579
    friend class basic_scan_buffer<CharT>;
4580
4581
    SCN_NODISCARD bool read_at_position() const
4582
0
    {
4583
0
        SCN_EXPECT(m_begin);
4584
4585
0
        if (!stores_parent()) {
4586
0
            return true;
4587
0
        }
4588
4589
0
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4590
0
            return true;
4591
0
        }
4592
4593
0
        while (m_position >= parent()->chars_available()) {
4594
0
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4595
0
                return false;
4596
0
            }
4597
0
        }
4598
0
        return true;
4599
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
4600
4601
    SCN_NODISCARD bool is_at_end() const
4602
0
    {
4603
0
        if (m_end) {
4604
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4605
0
        }
4606
0
        if (!m_begin) {
4607
0
            return true;
4608
0
        }
4609
0
        return !read_at_position();
4610
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
4611
4612
    // If m_end is null, m_begin points to the parent scan_buffer
4613
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4614
    // the entire range)
4615
    mutable void* m_begin{nullptr};
4616
    mutable void* m_end{nullptr};
4617
    std::ptrdiff_t m_position{0};
4618
};
4619
4620
template <typename CharT>
4621
class basic_scan_buffer<CharT>::common_forward_iterator
4622
    : public basic_scan_buffer<CharT>::forward_iterator {
4623
    using base = basic_scan_buffer<CharT>::forward_iterator;
4624
4625
public:
4626
    common_forward_iterator() = default;
4627
4628
    explicit common_forward_iterator(forward_iterator it)
4629
0
        : base(it), m_is_end(it.is_at_end())
4630
0
    {
4631
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4632
    explicit common_forward_iterator(ranges::default_sentinel_t)
4633
0
        : base(), m_is_end(true)
4634
0
    {
4635
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4636
4637
    common_forward_iterator& operator++()
4638
    {
4639
        base::operator++();
4640
        m_is_end = base::is_at_end();
4641
        return *this;
4642
    }
4643
4644
    common_forward_iterator operator++(int)
4645
    {
4646
        auto copy = *this;
4647
        operator++();
4648
        return copy;
4649
    }
4650
4651
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4652
    {
4653
        base::batch_advance(n);
4654
        m_is_end = base::is_at_end();
4655
        return *this;
4656
    }
4657
4658
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4659
    {
4660
        base::batch_advance_to(i);
4661
        m_is_end = base::is_at_end();
4662
        return *this;
4663
    }
4664
4665
    friend bool operator==(const common_forward_iterator& lhs,
4666
                           const common_forward_iterator& rhs)
4667
    {
4668
        if (lhs.m_is_end && rhs.m_is_end) {
4669
            return true;
4670
        }
4671
        if (lhs.m_is_end != rhs.m_is_end) {
4672
            return false;
4673
        }
4674
        return static_cast<const forward_iterator&>(lhs) ==
4675
               static_cast<const forward_iterator&>(rhs);
4676
    }
4677
4678
    friend bool operator!=(const common_forward_iterator& lhs,
4679
                           const common_forward_iterator& rhs)
4680
    {
4681
        return !(lhs == rhs);
4682
    }
4683
4684
private:
4685
    bool m_is_end{};
4686
};
4687
4688
template <typename CharT>
4689
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4690
0
{
4691
0
    if (is_contiguous()) {
4692
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4693
0
                                ranges::default_sentinel};
4694
0
    }
4695
0
    return ranges::subrange{forward_iterator{this, 0},
4696
0
                            ranges::default_sentinel};
4697
0
}
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get()
4698
4699
template <typename CharT>
4700
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4701
    -> common_range_type
4702
{
4703
    auto r = get();
4704
    return ranges::subrange{common_forward_iterator{r.begin()},
4705
                            common_forward_iterator{r.end()}};
4706
}
4707
4708
static_assert(ranges::forward_range<scan_buffer::range_type>);
4709
4710
template <typename CharT>
4711
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4712
    using base = basic_scan_buffer<CharT>;
4713
4714
public:
4715
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4716
0
        : base(typename base::contiguous_tag{}, sv)
4717
0
    {
4718
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4719
4720
    bool fill() override
4721
0
    {
4722
0
        SCN_EXPECT(false);
4723
0
        SCN_UNREACHABLE;
4724
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4725
};
4726
4727
template <typename CharT>
4728
basic_scan_string_buffer(std::basic_string_view<CharT>)
4729
    -> basic_scan_string_buffer<CharT>;
4730
4731
template <typename CharT>
4732
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4733
    using base = basic_scan_buffer<CharT>;
4734
4735
protected:
4736
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4737
    {
4738
    }
4739
};
4740
4741
template <typename I, typename S>
4742
using less_than_compare =
4743
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4744
4745
template <typename Range>
4746
class basic_scan_forward_buffer_impl
4747
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4748
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4749
4750
    using _char_type = detail::char_t<Range>;
4751
    using base = basic_scan_forward_buffer_base<_char_type>;
4752
4753
public:
4754
    using char_type = _char_type;
4755
    using range_type = Range;
4756
    using iterator = ranges::iterator_t<const Range>;
4757
    using sentinel = ranges::sentinel_t<const Range>;
4758
4759
    template <
4760
        typename R,
4761
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4762
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4763
    basic_scan_forward_buffer_impl(R&& r)
4764
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4765
          m_cursor(ranges::begin(*m_range))
4766
    {
4767
    }
4768
4769
    bool fill() override
4770
    {
4771
        if (m_cursor == ranges::end(*m_range)) {
4772
            return false;
4773
        }
4774
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4775
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4776
        }
4777
        if (!this->m_current_view.empty()) {
4778
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4779
                                          this->m_current_view.begin(),
4780
                                          this->m_current_view.end());
4781
        }
4782
        m_latest = *m_cursor;
4783
        ++m_cursor;
4784
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4785
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4786
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4787
        }
4788
        return true;
4789
    }
4790
4791
private:
4792
    const Range* m_range;
4793
    iterator m_cursor;
4794
    char_type m_latest{};
4795
};
4796
4797
template <typename R>
4798
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4799
4800
struct default_file_tag {};
4801
struct gnu_file_tag {};
4802
struct bsd_file_tag {};
4803
struct musl_file_tag {};
4804
struct win32_file_tag {};
4805
4806
// Non-pretty workaround for MSVC silliness
4807
template <typename F, typename = void>
4808
inline constexpr bool is_gnu_file = false;
4809
template <typename F>
4810
inline constexpr bool
4811
    is_gnu_file<F,
4812
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4813
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4814
4815
template <typename F, typename = void>
4816
inline constexpr bool is_bsd_file = false;
4817
template <typename F>
4818
inline constexpr bool is_bsd_file<
4819
    F,
4820
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4821
    true;
4822
4823
template <typename F, typename = void>
4824
inline constexpr bool is_musl_file = false;
4825
template <typename F>
4826
inline constexpr bool is_musl_file<
4827
    F,
4828
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4829
    true;
4830
4831
template <typename F>
4832
inline constexpr bool is_win32_file =
4833
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4834
4835
constexpr auto get_file_tag()
4836
0
{
4837
0
    if constexpr (is_gnu_file<std::FILE>) {
4838
0
        return detail::tag_type<gnu_file_tag>{};
4839
0
    }
4840
0
    else if constexpr (is_bsd_file<std::FILE>) {
4841
0
        return detail::tag_type<bsd_file_tag>{};
4842
0
    }
4843
0
    else if constexpr (is_musl_file<std::FILE>) {
4844
0
        return detail::tag_type<musl_file_tag>{};
4845
0
    }
4846
0
    else if constexpr (is_win32_file<std::FILE>) {
4847
0
        return detail::tag_type<win32_file_tag>{};
4848
0
    }
4849
0
    else {
4850
0
        return detail::tag_type<default_file_tag>{};
4851
0
    }
4852
0
}
4853
4854
template <typename File>
4855
struct stdio_file_interface_base {
4856
0
    stdio_file_interface_base(File* f) : file(f) {}
4857
    ~stdio_file_interface_base() = default;
4858
4859
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4860
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4861
        delete;
4862
4863
    stdio_file_interface_base(stdio_file_interface_base&& other)
4864
0
        : file(other.file)
4865
0
    {
4866
0
        other.file = nullptr;
4867
0
    }
4868
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4869
    {
4870
        file = other.file;
4871
        other.file = nullptr;
4872
        return *this;
4873
    }
4874
4875
    File* file;
4876
};
4877
4878
template <typename File, typename Tag>
4879
struct stdio_file_interface_impl;
4880
4881
template <typename File>
4882
struct stdio_file_interface_impl<File, default_file_tag>
4883
    : stdio_file_interface_base<File> {
4884
    void lock() {}
4885
    void unlock() {}
4886
4887
    bool has_buffering() const
4888
    {
4889
        return false;
4890
    }
4891
4892
    std::string_view buffer() const
4893
    {
4894
        return {};
4895
    }
4896
    void unsafe_advance_n(std::ptrdiff_t)
4897
    {
4898
        SCN_EXPECT(false);
4899
        SCN_UNREACHABLE;
4900
    }
4901
    void fill_buffer()
4902
    {
4903
        SCN_EXPECT(false);
4904
        SCN_UNREACHABLE;
4905
    }
4906
4907
    std::optional<char> read_one()
4908
    {
4909
        auto res = std::fgetc(this->file);
4910
        if (res == EOF) {
4911
            return std::nullopt;
4912
        }
4913
        return static_cast<char>(res);
4914
    }
4915
4916
    void prepare_putback() {}
4917
    void finalize_putback() {}
4918
4919
    bool putback(char ch)
4920
    {
4921
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4922
    }
4923
};
4924
4925
template <typename File>
4926
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4927
    void lock()
4928
0
    {
4929
0
        flockfile(this->file);
4930
0
    }
4931
    void unlock()
4932
0
    {
4933
0
        funlockfile(this->file);
4934
0
    }
4935
4936
    static bool has_buffering()
4937
0
    {
4938
0
        return true;
4939
0
    }
4940
4941
    std::optional<char> read_one()
4942
0
    {
4943
0
        auto res = getc_unlocked(this->file);
4944
0
        if (res == EOF) {
4945
0
            return std::nullopt;
4946
0
        }
4947
0
        return static_cast<char>(res);
4948
0
    }
4949
4950
    void prepare_putback()
4951
0
    {
4952
0
        unlock();
4953
0
    }
4954
    void finalize_putback()
4955
0
    {
4956
0
        lock();
4957
0
    }
4958
4959
    bool putback(char ch)
4960
0
    {
4961
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4962
0
    }
4963
};
4964
4965
template <typename File>
4966
struct stdio_file_interface_impl<File, gnu_file_tag>
4967
    : posix_stdio_file_interface<File> {
4968
    std::string_view buffer() const
4969
0
    {
4970
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4971
0
                                              this->file->_IO_read_end);
4972
0
    }
4973
    void unsafe_advance_n(std::ptrdiff_t n)
4974
0
    {
4975
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4976
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4977
0
        this->file->_IO_read_ptr += n;
4978
0
    }
4979
    void fill_buffer()
4980
0
    {
4981
0
        if (__uflow(this->file) != EOF) {
4982
0
            --this->file->_IO_read_ptr;
4983
0
        }
4984
0
    }
4985
};
4986
4987
template <typename File>
4988
struct stdio_file_interface_impl<File, bsd_file_tag>
4989
    : posix_stdio_file_interface<File> {
4990
    std::string_view buffer() const
4991
    {
4992
        return {reinterpret_cast<const char*>(this->file->_p),
4993
                static_cast<std::size_t>(this->file->_r)};
4994
    }
4995
    void unsafe_advance_n(std::ptrdiff_t n)
4996
    {
4997
        SCN_EXPECT(this->file->_p != nullptr);
4998
        SCN_EXPECT(this->file->_r >= n);
4999
        this->file->_p += n;
5000
        this->file->_r -= n;
5001
    }
5002
    void fill_buffer()
5003
    {
5004
        if (__srget(this->file) != EOF) {
5005
            --this->file->_p;
5006
            ++this->file->_r;
5007
        }
5008
    }
5009
};
5010
5011
template <typename File>
5012
struct stdio_file_interface_impl<File, musl_file_tag>
5013
    : posix_stdio_file_interface<File> {
5014
    std::string_view buffer() const
5015
    {
5016
        return make_string_view_from_pointers(
5017
            reinterpret_cast<const char*>(this->file->rpos),
5018
            reinterpret_cast<const char*>(this->file->rend));
5019
    }
5020
    void unsafe_advance_n(std::ptrdiff_t n)
5021
    {
5022
        SCN_EXPECT(this->file->rpos != nullptr);
5023
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5024
        this->file->rpos += n;
5025
    }
5026
    void fill_buffer()
5027
    {
5028
        if (__uflow(this->file) != EOF) {
5029
            --this->file->rpos;
5030
        }
5031
    }
5032
};
5033
5034
template <typename File>
5035
struct stdio_file_interface_impl<File, win32_file_tag>
5036
    : stdio_file_interface_base<File> {
5037
    void lock()
5038
    {
5039
        _lock_file(this->file);
5040
    }
5041
    void unlock()
5042
    {
5043
        _unlock_file(this->file);
5044
    }
5045
5046
    static bool has_buffering()
5047
    {
5048
        return false;
5049
    }
5050
5051
    std::string_view buffer() const
5052
    {
5053
        return {};
5054
    }
5055
    void unsafe_advance_n(std::ptrdiff_t n)
5056
    {
5057
        SCN_EXPECT(false);
5058
        SCN_UNREACHABLE;
5059
    }
5060
    void fill_buffer()
5061
    {
5062
        SCN_EXPECT(false);
5063
        SCN_UNREACHABLE;
5064
    }
5065
5066
    std::optional<char> read_one()
5067
    {
5068
        auto res = _fgetc_nolock(this->file);
5069
        if (res == EOF) {
5070
            return std::nullopt;
5071
        }
5072
        return static_cast<char>(res);
5073
    }
5074
5075
    void prepare_putback() {}
5076
    void finalize_putback() {}
5077
5078
    bool putback(char ch)
5079
    {
5080
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5081
               EOF;
5082
    }
5083
};
5084
5085
using stdio_file_interface =
5086
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5087
5088
template <typename FileInterface>
5089
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5090
    using base = basic_scan_buffer<char>;
5091
5092
public:
5093
    explicit basic_scan_file_buffer(FileInterface file);
5094
    ~basic_scan_file_buffer();
5095
5096
    bool fill() override;
5097
5098
    bool sync(std::ptrdiff_t position) override;
5099
5100
private:
5101
    FileInterface m_file;
5102
    std::optional<char_type> m_latest{std::nullopt};
5103
};
5104
5105
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5106
    explicit scan_file_buffer(std::FILE* file)
5107
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5108
0
    {
5109
0
    }
5110
};
5111
5112
extern template basic_scan_file_buffer<
5113
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5114
extern template basic_scan_file_buffer<
5115
    stdio_file_interface>::~basic_scan_file_buffer();
5116
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5117
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5118
    std::ptrdiff_t);
5119
5120
template <typename CharT>
5121
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5122
    using base = basic_scan_buffer<CharT>;
5123
5124
public:
5125
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5126
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5127
0
          m_other(&other),
5128
0
          m_starting_pos(starting_pos)
5129
0
    {
5130
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5131
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5132
0
                                    this->m_current_view.end();
5133
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5134
5135
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5136
0
        : base(true, view), m_other(nullptr)
5137
0
    {
5138
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5139
5140
    bool fill() override
5141
0
    {
5142
0
        if (!m_other) {
5143
0
            return false;
5144
0
        }
5145
0
        SCN_EXPECT(m_starting_pos >= 0);
5146
5147
0
        if (m_fill_needs_to_propagate) {
5148
0
            auto ret = m_other->fill();
5149
0
            this->m_current_view = m_other->current_view();
5150
0
            this->m_putback_buffer =
5151
0
                m_other->putback_buffer().substr(m_starting_pos);
5152
0
            return ret;
5153
0
        }
5154
5155
0
        m_fill_needs_to_propagate = true;
5156
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5157
0
        this->m_current_view = m_other->current_view();
5158
0
        return true;
5159
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5160
5161
private:
5162
    base* m_other;
5163
    std::ptrdiff_t m_starting_pos{-1};
5164
    bool m_fill_needs_to_propagate{false};
5165
};
5166
5167
template <typename CharT>
5168
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5169
    -> basic_scan_ref_buffer<CharT>;
5170
5171
template <typename CharT>
5172
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5173
    -> basic_scan_ref_buffer<CharT>;
5174
5175
template <typename Range>
5176
auto make_string_scan_buffer(const Range& range)
5177
{
5178
    return basic_scan_string_buffer(
5179
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5180
}
5181
5182
template <typename Range>
5183
auto make_forward_scan_buffer(const Range& range)
5184
{
5185
    return basic_scan_forward_buffer_impl(range);
5186
}
5187
5188
inline auto make_file_scan_buffer(std::FILE* file)
5189
0
{
5190
0
    return scan_file_buffer(file);
5191
0
}
5192
}  // namespace detail
5193
5194
/////////////////////////////////////////////////////////////////
5195
// make_scan_buffer
5196
/////////////////////////////////////////////////////////////////
5197
5198
/**
5199
 * \defgroup scannable Scannable sources
5200
 *
5201
 * \brief Description of the `scannable_range` and `scannable_source`
5202
 * concepts.
5203
 *
5204
 * A range is considered scannable, if it models at least `forward_range`,
5205
 * and its character type is correct (its value type is the same as the one
5206
 * of the format string).
5207
 * If the range additionally models `contiguous_range` and `sized_range`,
5208
 * additional optimizations are enabled.
5209
 *
5210
 * \code{.cpp}
5211
 * // Exposition only
5212
 * template <typename Range, typename CharT>
5213
 * concept scannable_range =
5214
 *     ranges::forward_range<Range> &&
5215
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5216
 * \endcode
5217
 *
5218
 * Additionally, files (`std::FILE*`) can be scanned from.
5219
 * Files are always considered to be narrow (`char`-oriented).
5220
 * Thus, the entire concept is:
5221
 *
5222
 * \code{.cpp}
5223
 * // Exposition only
5224
 * template <typename Source, typename CharT>
5225
 * concept scannable_source =
5226
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5227
 *    std::same_as<CharT, char>) ||
5228
 *   scannable_range<Source, CharT>;
5229
 * \endcode
5230
 */
5231
5232
/**
5233
 * Tag type to indicate an invalid range given to `scn::scan`
5234
 *
5235
 * \ingroup scannable
5236
 */
5237
struct invalid_input_range {};
5238
5239
struct invalid_char_type : invalid_input_range {};
5240
struct custom_char_traits : invalid_input_range {};
5241
struct file_marker_found : invalid_input_range {};
5242
struct insufficient_range : invalid_input_range {};
5243
5244
namespace detail {
5245
template <typename CharT>
5246
inline constexpr bool is_valid_char_type =
5247
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5248
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5249
5250
namespace _make_scan_buffer {
5251
// buffer -> ref_buffer
5252
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5253
    -> basic_scan_ref_buffer<char>
5254
0
{
5255
0
    if (!r.begin().stores_parent()) {
5256
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5257
0
    }
5258
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5259
0
}
5260
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5261
    -> basic_scan_ref_buffer<wchar_t>
5262
0
{
5263
0
    if (!r.begin().stores_parent()) {
5264
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5265
0
    }
5266
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5267
0
}
5268
5269
// string_view -> string_buffer
5270
template <typename CharT>
5271
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5272
149k
{
5273
149k
    if constexpr (is_valid_char_type<CharT>) {
5274
149k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
149k
}
auto scn::v4::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5272
49.8k
{
5273
49.8k
    if constexpr (is_valid_char_type<CharT>) {
5274
49.8k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
49.8k
}
auto scn::v4::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::detail::priority_tag<3ul>)
Line
Count
Source
5272
99.7k
{
5273
99.7k
    if constexpr (is_valid_char_type<CharT>) {
5274
99.7k
        return r;
5275
        // return make_string_scan_buffer(r);
5276
    }
5277
    else {
5278
        return invalid_char_type{};
5279
    }
5280
99.7k
}
5281
5282
// string& -> string_buffer
5283
template <typename CharT, typename Traits, typename Allocator>
5284
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5285
          priority_tag<3>) noexcept
5286
0
{
5287
    if constexpr (!is_valid_char_type<CharT>) {
5288
        return invalid_char_type{};
5289
    }
5290
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5291
        return custom_char_traits{};
5292
    }
5293
0
    else {
5294
0
        return std::basic_string_view<CharT>{r};
5295
0
    }
5296
0
}
5297
5298
// String literals:
5299
// CharT(&)[] -> string_buffer
5300
template <typename CharT,
5301
          std::size_t N,
5302
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5303
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5304
{
5305
    return std::basic_string_view<CharT>{r, N - 1};
5306
}
5307
5308
// FILE* -> file_buffer
5309
inline auto impl(std::FILE* file, priority_tag<3>)
5310
0
{
5311
0
    return make_file_scan_buffer(file);
5312
0
}
5313
5314
// contiguous + sized -> string_buffer
5315
template <typename Range,
5316
          std::enable_if_t<ranges::contiguous_range<Range> &&
5317
                           ranges::sized_range<Range>>* = nullptr>
5318
auto impl(const Range& r, priority_tag<2>)
5319
0
{
5320
0
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5321
0
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5322
    }
5323
    else {
5324
        return invalid_char_type{};
5325
    }
5326
0
}
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
5327
5328
// !contiguous + random-access + iterator can be made into a ptr
5329
// for MSVC debug iterators
5330
//   -> string_buffer
5331
template <typename Range,
5332
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5333
                           ranges::random_access_range<Range> &&
5334
                           can_make_address_from_iterator<
5335
                               ranges::iterator_t<Range>>>* = nullptr>
5336
auto impl(const Range& r, priority_tag<1>)
5337
{
5338
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5339
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5340
                                              to_address(ranges::end(r)));
5341
    }
5342
    else {
5343
        return invalid_char_type{};
5344
    }
5345
}
5346
5347
// forward -> forward_buffer<R>
5348
template <typename Range>
5349
auto impl(const Range& r, priority_tag<0>)
5350
{
5351
    if constexpr (std::is_same_v<Range, file_marker>) {
5352
        return file_marker_found{};
5353
    }
5354
    else if constexpr (!ranges::forward_range<Range>) {
5355
        if constexpr (ranges::range<Range>) {
5356
            return insufficient_range{};
5357
        }
5358
        else {
5359
            return invalid_input_range{};
5360
        }
5361
    }
5362
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5363
        return invalid_char_type{};
5364
    }
5365
    else {
5366
        return make_forward_scan_buffer(r);
5367
    }
5368
}
5369
}  // namespace _make_scan_buffer
5370
5371
template <typename Range>
5372
inline constexpr bool is_scannable_range =
5373
    !std::is_base_of_v<invalid_input_range,
5374
                       decltype(_make_scan_buffer::impl(
5375
                                    SCN_DECLVAL(const Range&)),
5376
                                priority_tag<4>{})>;
5377
5378
template <typename Range>
5379
auto make_scan_buffer(const Range& range)
5380
149k
{
5381
149k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
149k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
149k
                  "\n"
5385
149k
                  "Unsupported range type given as input to a scanning "
5386
149k
                  "function.\n"
5387
149k
                  "A range needs to have a character type (value type) "
5388
149k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
149k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
149k
                  "to be included.\n"
5391
149k
                  "See the scnlib documentation for more details.");
5392
149k
    static_assert(
5393
149k
        !std::is_same_v<T, custom_char_traits>,
5394
149k
        "\n"
5395
149k
        "Unsupported range type given as input to a scanning "
5396
149k
        "function.\n"
5397
149k
        "String types (std::basic_string, and std::basic_string_view) "
5398
149k
        "need to use std::char_traits. Strings with custom Traits are "
5399
149k
        "not supported.");
5400
149k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
149k
                  "\n"
5402
149k
                  "Unsupported range type given as input to a scanning "
5403
149k
                  "function.\n"
5404
149k
                  "file_marker_found cannot be used as an "
5405
149k
                  "source range type to scn::scan.\n"
5406
149k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
149k
                  "and do not provide an explicit source range, "
5408
149k
                  "or use scn::scan with a FILE* directly.");
5409
149k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
149k
                  "\n"
5411
149k
                  "Unsupported range type given as input to a scanning "
5412
149k
                  "function.\n"
5413
149k
                  "In order to be scannable, a range needs to satisfy "
5414
149k
                  "`forward_range`. `input_range` is not sufficient.");
5415
149k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
149k
                  "\n"
5417
149k
                  "Unsupported range type given as input to a scanning "
5418
149k
                  "function.\n"
5419
149k
                  "A range needs to model forward_range and have a valid "
5420
149k
                  "character type (char or wchar_t) to be scannable.\n"
5421
149k
                  "Examples of scannable ranges are std::string, "
5422
149k
                  "std::string_view, "
5423
149k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
149k
                  "See the scnlib documentation for more details.");
5425
5426
149k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
149k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
5380
49.8k
{
5381
49.8k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
49.8k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
49.8k
                  "\n"
5385
49.8k
                  "Unsupported range type given as input to a scanning "
5386
49.8k
                  "function.\n"
5387
49.8k
                  "A range needs to have a character type (value type) "
5388
49.8k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
49.8k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
49.8k
                  "to be included.\n"
5391
49.8k
                  "See the scnlib documentation for more details.");
5392
49.8k
    static_assert(
5393
49.8k
        !std::is_same_v<T, custom_char_traits>,
5394
49.8k
        "\n"
5395
49.8k
        "Unsupported range type given as input to a scanning "
5396
49.8k
        "function.\n"
5397
49.8k
        "String types (std::basic_string, and std::basic_string_view) "
5398
49.8k
        "need to use std::char_traits. Strings with custom Traits are "
5399
49.8k
        "not supported.");
5400
49.8k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
49.8k
                  "\n"
5402
49.8k
                  "Unsupported range type given as input to a scanning "
5403
49.8k
                  "function.\n"
5404
49.8k
                  "file_marker_found cannot be used as an "
5405
49.8k
                  "source range type to scn::scan.\n"
5406
49.8k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
49.8k
                  "and do not provide an explicit source range, "
5408
49.8k
                  "or use scn::scan with a FILE* directly.");
5409
49.8k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
49.8k
                  "\n"
5411
49.8k
                  "Unsupported range type given as input to a scanning "
5412
49.8k
                  "function.\n"
5413
49.8k
                  "In order to be scannable, a range needs to satisfy "
5414
49.8k
                  "`forward_range`. `input_range` is not sufficient.");
5415
49.8k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
49.8k
                  "\n"
5417
49.8k
                  "Unsupported range type given as input to a scanning "
5418
49.8k
                  "function.\n"
5419
49.8k
                  "A range needs to model forward_range and have a valid "
5420
49.8k
                  "character type (char or wchar_t) to be scannable.\n"
5421
49.8k
                  "Examples of scannable ranges are std::string, "
5422
49.8k
                  "std::string_view, "
5423
49.8k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
49.8k
                  "See the scnlib documentation for more details.");
5425
5426
49.8k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
49.8k
}
auto scn::v4::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
5380
99.7k
{
5381
99.7k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5382
5383
99.7k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5384
99.7k
                  "\n"
5385
99.7k
                  "Unsupported range type given as input to a scanning "
5386
99.7k
                  "function.\n"
5387
99.7k
                  "A range needs to have a character type (value type) "
5388
99.7k
                  "of either `char` or `wchar_t` to be scannable.\n"
5389
99.7k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5390
99.7k
                  "to be included.\n"
5391
99.7k
                  "See the scnlib documentation for more details.");
5392
99.7k
    static_assert(
5393
99.7k
        !std::is_same_v<T, custom_char_traits>,
5394
99.7k
        "\n"
5395
99.7k
        "Unsupported range type given as input to a scanning "
5396
99.7k
        "function.\n"
5397
99.7k
        "String types (std::basic_string, and std::basic_string_view) "
5398
99.7k
        "need to use std::char_traits. Strings with custom Traits are "
5399
99.7k
        "not supported.");
5400
99.7k
    static_assert(!std::is_same_v<T, file_marker_found>,
5401
99.7k
                  "\n"
5402
99.7k
                  "Unsupported range type given as input to a scanning "
5403
99.7k
                  "function.\n"
5404
99.7k
                  "file_marker_found cannot be used as an "
5405
99.7k
                  "source range type to scn::scan.\n"
5406
99.7k
                  "To read from stdin, use scn::input or scn::prompt, "
5407
99.7k
                  "and do not provide an explicit source range, "
5408
99.7k
                  "or use scn::scan with a FILE* directly.");
5409
99.7k
    static_assert(!std::is_same_v<T, insufficient_range>,
5410
99.7k
                  "\n"
5411
99.7k
                  "Unsupported range type given as input to a scanning "
5412
99.7k
                  "function.\n"
5413
99.7k
                  "In order to be scannable, a range needs to satisfy "
5414
99.7k
                  "`forward_range`. `input_range` is not sufficient.");
5415
99.7k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5416
99.7k
                  "\n"
5417
99.7k
                  "Unsupported range type given as input to a scanning "
5418
99.7k
                  "function.\n"
5419
99.7k
                  "A range needs to model forward_range and have a valid "
5420
99.7k
                  "character type (char or wchar_t) to be scannable.\n"
5421
99.7k
                  "Examples of scannable ranges are std::string, "
5422
99.7k
                  "std::string_view, "
5423
99.7k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5424
99.7k
                  "See the scnlib documentation for more details.");
5425
5426
99.7k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5427
99.7k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
5428
5429
template <
5430
    typename Range,
5431
    std::enable_if_t<
5432
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5433
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5434
auto make_scan_buffer(Range&&) = delete;
5435
}  // namespace detail
5436
5437
/////////////////////////////////////////////////////////////////
5438
// Argument type erasure
5439
/////////////////////////////////////////////////////////////////
5440
5441
namespace detail {
5442
enum class arg_type : unsigned char {
5443
    none_type,
5444
    schar_type,
5445
    short_type,
5446
    int_type,
5447
    long_type,
5448
    llong_type,
5449
    uchar_type,
5450
    ushort_type,
5451
    uint_type,
5452
    ulong_type,
5453
    ullong_type,
5454
    bool_type,
5455
    narrow_character_type,
5456
    wide_character_type,
5457
    code_point_type,
5458
    pointer_type,
5459
    float_type,
5460
    double_type,
5461
    ldouble_type,
5462
    narrow_string_view_type,
5463
    wide_string_view_type,
5464
    narrow_string_type,
5465
    wide_string_type,
5466
    narrow_regex_matches_type,
5467
    wide_regex_matches_type,
5468
    custom_type,
5469
    last_type = custom_type
5470
};
5471
5472
template <typename>
5473
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5474
5475
template <typename T, typename CharT>
5476
struct arg_type_constant
5477
    : std::integral_constant<arg_type, arg_type::custom_type> {
5478
    using type = T;
5479
};
5480
5481
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5482
    template <typename CharT>                             \
5483
    struct arg_type_constant<Type, CharT>                 \
5484
        : std::integral_constant<arg_type, arg_type::C> { \
5485
        using type = Type;                                \
5486
    };                                                    \
5487
    template <>                                           \
5488
    inline constexpr bool is_type_disabled<Type> = Disabled
5489
5490
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5491
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5492
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5493
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5494
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5495
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5496
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5497
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5498
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5499
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5500
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5501
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5502
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5503
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5504
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5505
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5506
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5507
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5508
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5509
SCN_TYPE_CONSTANT(std::string_view,
5510
                  narrow_string_view_type,
5511
                  SCN_DISABLE_TYPE_STRING_VIEW);
5512
SCN_TYPE_CONSTANT(std::wstring_view,
5513
                  wide_string_view_type,
5514
                  SCN_DISABLE_TYPE_STRING_VIEW);
5515
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5516
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5517
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
5518
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
5519
5520
#undef SCN_TYPE_CONSTANT
5521
5522
struct custom_value_type {
5523
    void* value;
5524
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5525
};
5526
5527
struct unscannable {};
5528
struct unscannable_char : unscannable {};
5529
struct unscannable_const : unscannable {};
5530
struct unscannable_disabled : unscannable {
5531
    unscannable_disabled() = default;
5532
5533
    template <typename T>
5534
    constexpr unscannable_disabled(T&&)
5535
    {
5536
    }
5537
};
5538
5539
struct needs_context_tag {};
5540
5541
template <typename Context>
5542
struct context_tag {
5543
    using type = Context;
5544
};
5545
5546
template <typename T, typename Context>
5547
struct custom_wrapper {
5548
    using context_type = Context;
5549
    T& val;
5550
};
5551
5552
template <typename T, typename Scanner, typename ParseCtx>
5553
scan_expected<void> parse_custom_arg(T& arg, Scanner& s, ParseCtx& pctx)
5554
{
5555
#if SCN_HAS_EXCEPTIONS
5556
    auto fmt_it = pctx.begin();
5557
    try {
5558
        fmt_it = s.parse(pctx);
5559
    }
5560
    catch (const detail::scan_format_string_error_base& ex) {
5561
        // scan_error takes a const char*.
5562
        // scan_format_string_error (or, actually, std::runtime_error)
5563
        // stores a reference-counted string,
5564
        // that will go out of scope here.
5565
        // We need to provide a const char* that will stay in scope.
5566
        // If scan_format_string_error was thrown with a string literal,
5567
        // use that, otherwise refer to a thread_local std::string
5568
        if (const char* m = get_internal_literal_msg(ex)) {
5569
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5570
        }
5571
        thread_local std::string err_msg{};
5572
        err_msg = ex.what();
5573
        return unexpected_scan_error(scan_error::invalid_format_string,
5574
                                     err_msg.c_str());
5575
    }
5576
#else
5577
    auto fmt_it = s.parse(pctx_ref);
5578
#endif
5579
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5580
        return e;
5581
    }
5582
    pctx.advance_to(fmt_it);
5583
    return {};
5584
}
5585
5586
class arg_value {
5587
public:
5588
    // trivial default initialization in constexpr
5589
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5590
    SCN_STD > SCN_STD_20
5591
    constexpr
5592
#endif
5593
48.4k
    arg_value() = default;
5594
5595
    template <typename T>
5596
149k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
149k
    {
5598
149k
    }
scn::v4::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
5596
5.54k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
5.54k
    {
5598
5.54k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5596
16.6k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
16.6k
    {
5598
16.6k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5596
5.54k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
5.54k
    {
5598
5.54k
    }
scn::v4::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
5596
11.0k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
11.0k
    {
5598
11.0k
    }
scn::v4::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5596
11.0k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5597
11.0k
    {
5598
11.0k
    }
5599
5600
    template <typename T, typename Context>
5601
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5602
        : custom_value{static_cast<void*>(&val.val),
5603
                       scan_custom_arg<T, Context>}
5604
    {
5605
    }
5606
5607
    arg_value(unscannable);
5608
    arg_value(unscannable_char);
5609
    arg_value(unscannable_const);
5610
    arg_value(unscannable_disabled);
5611
5612
    union {
5613
        void* ref_value{nullptr};
5614
        custom_value_type custom_value;
5615
    };
5616
5617
private:
5618
    template <typename T, typename Context>
5619
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5620
    {
5621
        static_assert(!is_type_disabled<T>,
5622
                      "Scanning of custom types is disabled by "
5623
                      "SCN_DISABLE_TYPE_CUSTOM");
5624
        SCN_EXPECT(arg && pctx && ctx);
5625
5626
        using context_type = Context;
5627
        using parse_context_type = typename context_type::parse_context_type;
5628
        using scanner_type = typename context_type::template scanner_type<T>;
5629
5630
        auto s = scanner_type{};
5631
5632
        auto& arg_ref = *static_cast<T*>(arg);
5633
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5634
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5635
5636
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5637
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5638
        ctx_ref.advance_to(SCN_MOVE(it));
5639
5640
        return {};
5641
    }
5642
};
5643
5644
template <typename CharT>
5645
struct arg_mapper {
5646
    using char_type = CharT;
5647
    using other_char_type =
5648
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5649
5650
#define SCN_ARG_MAPPER(T)                                                    \
5651
    static auto map(T& val)                                                  \
5652
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5653
144k
    {                                                                        \
5654
144k
        return val;                                                          \
5655
144k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(double&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5653
5.54k
    {                                                                        \
5654
5.54k
        return val;                                                          \
5655
5.54k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5653
11.0k
    {                                                                        \
5654
11.0k
        return val;                                                          \
5655
11.0k
    }
5656
5657
    SCN_ARG_MAPPER(signed char)
5658
    SCN_ARG_MAPPER(short)
5659
    SCN_ARG_MAPPER(int)
5660
    SCN_ARG_MAPPER(long)
5661
    SCN_ARG_MAPPER(long long)
5662
    SCN_ARG_MAPPER(unsigned char)
5663
    SCN_ARG_MAPPER(unsigned short)
5664
    SCN_ARG_MAPPER(unsigned)
5665
    SCN_ARG_MAPPER(unsigned long)
5666
    SCN_ARG_MAPPER(unsigned long long)
5667
    SCN_ARG_MAPPER(wchar_t)
5668
    SCN_ARG_MAPPER(char32_t)
5669
    SCN_ARG_MAPPER(bool)
5670
    SCN_ARG_MAPPER(void*)
5671
    SCN_ARG_MAPPER(const void*)
5672
    SCN_ARG_MAPPER(float)
5673
    SCN_ARG_MAPPER(double)
5674
    SCN_ARG_MAPPER(long double)
5675
5676
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5677
    SCN_ARG_MAPPER(std::string)
5678
    SCN_ARG_MAPPER(std::wstring)
5679
5680
#undef SCN_ARG_MAPPER
5681
5682
    static decltype(auto) map(char& val)
5683
5.54k
    {
5684
        if constexpr (std::is_same_v<char_type, char> &&
5685
5.54k
                      !is_type_disabled<char_type>) {
5686
5.54k
            return val;
5687
        }
5688
        else if constexpr (is_type_disabled<char_type>) {
5689
            return unscannable_disabled{val};
5690
        }
5691
        else {
5692
            SCN_UNUSED(val);
5693
            return unscannable_char{};
5694
        }
5695
5.54k
    }
5696
5697
    static decltype(auto) map(basic_regex_matches<char_type>& val)
5698
    {
5699
        if constexpr (is_type_disabled<char_type>) {
5700
            return unscannable_disabled{val};
5701
        }
5702
        else {
5703
            return val;
5704
        }
5705
    }
5706
5707
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5708
    {
5709
        return {};
5710
    }
5711
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5712
    {
5713
        return {};
5714
    }
5715
5716
    template <typename T,
5717
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5718
    static needs_context_tag map(T&)
5719
    {
5720
        return {};
5721
    }
5722
5723
    template <typename T,
5724
              typename Context,
5725
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5726
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5727
    {
5728
        return {val};
5729
    }
5730
5731
    static unscannable map(...)
5732
    {
5733
        return {};
5734
    }
5735
};
5736
5737
template <typename T, typename CharT>
5738
using mapped_type_constant = arg_type_constant<
5739
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5740
    CharT>;
5741
5742
template <typename T, typename CharT>
5743
using is_scannable = std::integral_constant<
5744
    bool,
5745
    !std::is_base_of_v<
5746
        unscannable,
5747
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5748
5749
constexpr std::size_t packed_arg_bits = 5;
5750
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5751
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5752
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5753
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5754
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5755
5756
template <typename>
5757
constexpr size_t encode_types_impl()
5758
0
{
5759
0
    return 0;
5760
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5761
template <typename CharT, typename T, typename... Others>
5762
constexpr size_t encode_types_impl()
5763
0
{
5764
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5765
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5766
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
5767
5768
template <typename CharT, typename... Ts>
5769
constexpr size_t encode_types()
5770
0
{
5771
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5772
0
        return sizeof...(Ts) |
5773
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5774
0
    }
5775
0
    else {
5776
0
        SCN_EXPECT(false);
5777
0
        SCN_UNREACHABLE;
5778
0
    }
5779
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
5780
5781
template <typename T, typename Arg>
5782
constexpr auto make_value_impl(Arg&& arg)
5783
149k
{
5784
149k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
149k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
149k
    constexpr bool scannable_char =
5788
149k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
149k
    static_assert(scannable_char,
5790
149k
                  "Cannot scan an argument of an unsupported character "
5791
149k
                  "type (i.e. char from a wchar_t source)");
5792
5793
149k
    constexpr bool scannable_const =
5794
149k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
149k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
149k
    constexpr bool scannable_disabled =
5798
149k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
149k
    static_assert(scannable_disabled,
5800
149k
                  "Cannot scan an argument that has been disabled by "
5801
149k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
149k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
149k
    static_assert(
5805
149k
        scannable,
5806
149k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
149k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
149k
    return arg_value{arg};
5810
149k
}
auto scn::v4::detail::make_value_impl<char, char&>(char&)
Line
Count
Source
5783
5.54k
{
5784
5.54k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
5.54k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
5.54k
    constexpr bool scannable_char =
5788
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
5.54k
    static_assert(scannable_char,
5790
5.54k
                  "Cannot scan an argument of an unsupported character "
5791
5.54k
                  "type (i.e. char from a wchar_t source)");
5792
5793
5.54k
    constexpr bool scannable_const =
5794
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
5.54k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
5.54k
    constexpr bool scannable_disabled =
5798
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
5.54k
    static_assert(scannable_disabled,
5800
5.54k
                  "Cannot scan an argument that has been disabled by "
5801
5.54k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
5.54k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
5.54k
    static_assert(
5805
5.54k
        scannable,
5806
5.54k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
5.54k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
5.54k
    return arg_value{arg};
5810
5.54k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<double, double&>(double&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<bool, bool&>(bool&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<void*, void*&>(void*&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5783
16.6k
{
5784
16.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
16.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
16.6k
    constexpr bool scannable_char =
5788
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
16.6k
    static_assert(scannable_char,
5790
16.6k
                  "Cannot scan an argument of an unsupported character "
5791
16.6k
                  "type (i.e. char from a wchar_t source)");
5792
5793
16.6k
    constexpr bool scannable_const =
5794
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
16.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
16.6k
    constexpr bool scannable_disabled =
5798
16.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
16.6k
    static_assert(scannable_disabled,
5800
16.6k
                  "Cannot scan an argument that has been disabled by "
5801
16.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
16.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
16.6k
    static_assert(
5805
16.6k
        scannable,
5806
16.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
16.6k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
16.6k
    return arg_value{arg};
5810
16.6k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5783
5.54k
{
5784
5.54k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
5.54k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
5.54k
    constexpr bool scannable_char =
5788
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
5.54k
    static_assert(scannable_char,
5790
5.54k
                  "Cannot scan an argument of an unsupported character "
5791
5.54k
                  "type (i.e. char from a wchar_t source)");
5792
5793
5.54k
    constexpr bool scannable_const =
5794
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
5.54k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
5.54k
    constexpr bool scannable_disabled =
5798
5.54k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
5.54k
    static_assert(scannable_disabled,
5800
5.54k
                  "Cannot scan an argument that has been disabled by "
5801
5.54k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
5.54k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
5.54k
    static_assert(
5805
5.54k
        scannable,
5806
5.54k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
5.54k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
5.54k
    return arg_value{arg};
5810
5.54k
}
auto scn::v4::detail::make_value_impl<wchar_t, wchar_t&>(wchar_t&)
Line
Count
Source
5783
11.0k
{
5784
11.0k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
11.0k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
11.0k
    constexpr bool scannable_char =
5788
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
11.0k
    static_assert(scannable_char,
5790
11.0k
                  "Cannot scan an argument of an unsupported character "
5791
11.0k
                  "type (i.e. char from a wchar_t source)");
5792
5793
11.0k
    constexpr bool scannable_const =
5794
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
11.0k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
11.0k
    constexpr bool scannable_disabled =
5798
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
11.0k
    static_assert(scannable_disabled,
5800
11.0k
                  "Cannot scan an argument that has been disabled by "
5801
11.0k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
11.0k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
11.0k
    static_assert(
5805
11.0k
        scannable,
5806
11.0k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
11.0k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
11.0k
    return arg_value{arg};
5810
11.0k
}
auto scn::v4::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5783
11.0k
{
5784
11.0k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5785
11.0k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5786
5787
11.0k
    constexpr bool scannable_char =
5788
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5789
11.0k
    static_assert(scannable_char,
5790
11.0k
                  "Cannot scan an argument of an unsupported character "
5791
11.0k
                  "type (i.e. char from a wchar_t source)");
5792
5793
11.0k
    constexpr bool scannable_const =
5794
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5795
11.0k
    static_assert(scannable_const, "Cannot scan a const argument");
5796
5797
11.0k
    constexpr bool scannable_disabled =
5798
11.0k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5799
11.0k
    static_assert(scannable_disabled,
5800
11.0k
                  "Cannot scan an argument that has been disabled by "
5801
11.0k
                  "flag (SCN_DISABLE_TYPE_*)");
5802
5803
11.0k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5804
11.0k
    static_assert(
5805
11.0k
        scannable,
5806
11.0k
        "Cannot scan an argument. To make a type T scannable, provide "
5807
11.0k
        "a scn::scanner<T, CharT> specialization.");
5808
5809
11.0k
    return arg_value{arg};
5810
11.0k
}
5811
5812
template <typename Context, typename T>
5813
constexpr auto make_value(T& value)
5814
149k
{
5815
149k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
149k
                                  needs_context_tag>) {
5819
149k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
149k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(char&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(bool&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(void*&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5814
5.54k
{
5815
5.54k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
5.54k
                                  needs_context_tag>) {
5819
5.54k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
5.54k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(double&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(bool&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(void*&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5814
11.0k
{
5815
11.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5816
5817
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5818
11.0k
                                  needs_context_tag>) {
5819
11.0k
        return make_value_impl<T>(SCN_FWD(arg));
5820
    }
5821
    else {
5822
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5823
            value, context_tag<Context>{}));
5824
    }
5825
11.0k
}
5826
5827
template <typename... Args>
5828
constexpr bool check_scan_arg_types()
5829
149k
{
5830
149k
    constexpr bool default_constructible_constraint =
5831
149k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
149k
    static_assert(default_constructible_constraint,
5833
149k
                  "Scan argument types must be default constructible");
5834
5835
149k
    constexpr bool destructible_constraint =
5836
149k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
149k
    static_assert(destructible_constraint,
5838
149k
                  "Scan argument types must be Destructible");
5839
5840
149k
    constexpr bool non_reference_constraint =
5841
149k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
149k
    static_assert(non_reference_constraint,
5843
149k
                  "Scan argument types must not be references");
5844
5845
149k
    constexpr bool movable_constraint =
5846
149k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
149k
    static_assert(movable_constraint,
5848
149k
                  "Scan argument types must be move constructible");
5849
5850
149k
    return default_constructible_constraint && destructible_constraint &&
5851
149k
           non_reference_constraint && movable_constraint;
5852
149k
}
bool scn::v4::detail::check_scan_arg_types<char>()
Line
Count
Source
5829
5.54k
{
5830
5.54k
    constexpr bool default_constructible_constraint =
5831
5.54k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
5.54k
    static_assert(default_constructible_constraint,
5833
5.54k
                  "Scan argument types must be default constructible");
5834
5835
5.54k
    constexpr bool destructible_constraint =
5836
5.54k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
5.54k
    static_assert(destructible_constraint,
5838
5.54k
                  "Scan argument types must be Destructible");
5839
5840
5.54k
    constexpr bool non_reference_constraint =
5841
5.54k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
5.54k
    static_assert(non_reference_constraint,
5843
5.54k
                  "Scan argument types must not be references");
5844
5845
5.54k
    constexpr bool movable_constraint =
5846
5.54k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
5.54k
    static_assert(movable_constraint,
5848
5.54k
                  "Scan argument types must be move constructible");
5849
5850
5.54k
    return default_constructible_constraint && destructible_constraint &&
5851
5.54k
           non_reference_constraint && movable_constraint;
5852
5.54k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<double>()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<bool>()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<void*>()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5829
16.6k
{
5830
16.6k
    constexpr bool default_constructible_constraint =
5831
16.6k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
16.6k
    static_assert(default_constructible_constraint,
5833
16.6k
                  "Scan argument types must be default constructible");
5834
5835
16.6k
    constexpr bool destructible_constraint =
5836
16.6k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
16.6k
    static_assert(destructible_constraint,
5838
16.6k
                  "Scan argument types must be Destructible");
5839
5840
16.6k
    constexpr bool non_reference_constraint =
5841
16.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
16.6k
    static_assert(non_reference_constraint,
5843
16.6k
                  "Scan argument types must not be references");
5844
5845
16.6k
    constexpr bool movable_constraint =
5846
16.6k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
16.6k
    static_assert(movable_constraint,
5848
16.6k
                  "Scan argument types must be move constructible");
5849
5850
16.6k
    return default_constructible_constraint && destructible_constraint &&
5851
16.6k
           non_reference_constraint && movable_constraint;
5852
16.6k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5829
5.54k
{
5830
5.54k
    constexpr bool default_constructible_constraint =
5831
5.54k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
5.54k
    static_assert(default_constructible_constraint,
5833
5.54k
                  "Scan argument types must be default constructible");
5834
5835
5.54k
    constexpr bool destructible_constraint =
5836
5.54k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
5.54k
    static_assert(destructible_constraint,
5838
5.54k
                  "Scan argument types must be Destructible");
5839
5840
5.54k
    constexpr bool non_reference_constraint =
5841
5.54k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
5.54k
    static_assert(non_reference_constraint,
5843
5.54k
                  "Scan argument types must not be references");
5844
5845
5.54k
    constexpr bool movable_constraint =
5846
5.54k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
5.54k
    static_assert(movable_constraint,
5848
5.54k
                  "Scan argument types must be move constructible");
5849
5850
5.54k
    return default_constructible_constraint && destructible_constraint &&
5851
5.54k
           non_reference_constraint && movable_constraint;
5852
5.54k
}
bool scn::v4::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5829
11.0k
{
5830
11.0k
    constexpr bool default_constructible_constraint =
5831
11.0k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
11.0k
    static_assert(default_constructible_constraint,
5833
11.0k
                  "Scan argument types must be default constructible");
5834
5835
11.0k
    constexpr bool destructible_constraint =
5836
11.0k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
11.0k
    static_assert(destructible_constraint,
5838
11.0k
                  "Scan argument types must be Destructible");
5839
5840
11.0k
    constexpr bool non_reference_constraint =
5841
11.0k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
11.0k
    static_assert(non_reference_constraint,
5843
11.0k
                  "Scan argument types must not be references");
5844
5845
11.0k
    constexpr bool movable_constraint =
5846
11.0k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
11.0k
    static_assert(movable_constraint,
5848
11.0k
                  "Scan argument types must be move constructible");
5849
5850
11.0k
    return default_constructible_constraint && destructible_constraint &&
5851
11.0k
           non_reference_constraint && movable_constraint;
5852
11.0k
}
bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5829
11.0k
{
5830
11.0k
    constexpr bool default_constructible_constraint =
5831
11.0k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5832
11.0k
    static_assert(default_constructible_constraint,
5833
11.0k
                  "Scan argument types must be default constructible");
5834
5835
11.0k
    constexpr bool destructible_constraint =
5836
11.0k
        std::conjunction_v<std::is_destructible<Args>...>;
5837
11.0k
    static_assert(destructible_constraint,
5838
11.0k
                  "Scan argument types must be Destructible");
5839
5840
11.0k
    constexpr bool non_reference_constraint =
5841
11.0k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5842
11.0k
    static_assert(non_reference_constraint,
5843
11.0k
                  "Scan argument types must not be references");
5844
5845
11.0k
    constexpr bool movable_constraint =
5846
11.0k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5847
11.0k
    static_assert(movable_constraint,
5848
11.0k
                  "Scan argument types must be move constructible");
5849
5850
11.0k
    return default_constructible_constraint && destructible_constraint &&
5851
11.0k
           non_reference_constraint && movable_constraint;
5852
11.0k
}
5853
5854
enum class scan_arg_store_kind {
5855
    // only built-in types (no custom types), packed
5856
    builtin,
5857
5858
    packed,
5859
    unpacked
5860
};
5861
5862
template <typename Context, typename T>
5863
constexpr basic_scan_arg<Context> make_arg(T& value)
5864
{
5865
    check_scan_arg_types<T>();
5866
5867
    basic_scan_arg<Context> arg;
5868
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5869
    arg.m_value = make_value<Context>(value);
5870
    return arg;
5871
}
5872
5873
template <scan_arg_store_kind Kind,
5874
          typename Context,
5875
          arg_type,
5876
          typename T,
5877
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5878
constexpr void* make_arg(T& value)
5879
149k
{
5880
149k
    return make_value<Context>(value).ref_value;
5881
149k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5879
5.54k
{
5880
5.54k
    return make_value<Context>(value).ref_value;
5881
5.54k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5879
11.0k
{
5880
11.0k
    return make_value<Context>(value).ref_value;
5881
11.0k
}
5882
template <scan_arg_store_kind Kind,
5883
          typename Context,
5884
          arg_type,
5885
          typename T,
5886
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5887
constexpr arg_value make_arg(T& value)
5888
{
5889
    return make_value<Context>(value);
5890
}
5891
template <scan_arg_store_kind Kind,
5892
          typename Context,
5893
          arg_type,
5894
          typename T,
5895
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5896
constexpr basic_scan_arg<Context> make_arg(T&& value)
5897
{
5898
    return make_arg<Context>(SCN_FWD(value));
5899
}
5900
5901
template <typename Context>
5902
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5903
template <typename Context>
5904
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5905
5906
template <typename Context>
5907
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5908
template <typename Context>
5909
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5910
5911
template <typename Visitor, typename Context>
5912
constexpr decltype(auto) visit_impl(Visitor&& vis,
5913
                                    basic_scan_arg<Context>& arg);
5914
}  // namespace detail
5915
5916
/**
5917
 * Type-erased scanning argument.
5918
 *
5919
 * Contains a pointer to the value contained in a `scan_arg_store`.
5920
 */
5921
template <typename Context>
5922
class basic_scan_arg {
5923
public:
5924
    /**
5925
     * Enables scanning of a user-defined type.
5926
     *
5927
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5928
     * a callback for parsing the format string, and scanning the value.
5929
     *
5930
     * \see scn::visit_scan_arg
5931
     */
5932
    class handle {
5933
    public:
5934
        /**
5935
         * Parse the format string in `parse_ctx`, and scan the value from
5936
         * `ctx`.
5937
         *
5938
         * \return Any error returned by the scanner
5939
         */
5940
        scan_expected<void> scan(
5941
            typename Context::parse_context_type& parse_ctx,
5942
            Context& ctx) const
5943
0
        {
5944
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5945
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
5946
5947
    private:
5948
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
5949
5950
        template <typename Visitor, typename C>
5951
        friend constexpr decltype(auto) detail::visit_impl(
5952
            Visitor&& vis,
5953
            basic_scan_arg<C>& arg);
5954
5955
        detail::custom_value_type m_custom;
5956
    };
5957
5958
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5959
48.4k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
5959
29.9k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
5959
18.4k
    constexpr basic_scan_arg() = default;
5960
5961
    /**
5962
     * @return `true` if `*this` contains an argument
5963
     */
5964
    constexpr explicit operator bool() const noexcept
5965
90.7k
    {
5966
90.7k
        return m_type != detail::arg_type::none_type;
5967
90.7k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
5965
56.6k
    {
5966
56.6k
        return m_type != detail::arg_type::none_type;
5967
56.6k
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
5965
34.1k
    {
5966
34.1k
        return m_type != detail::arg_type::none_type;
5967
34.1k
    }
5968
5969
    /**
5970
     * Visit a `basic_scan_arg` with `Visitor`.
5971
     * Calls `vis` with the value stored in `*this`.
5972
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
5973
     *
5974
     * \return `vis(x)`, where `x` is either a reference to the value contained
5975
     * in `*this`, or a `basic_scan_arg::handle`.
5976
     */
5977
    template <typename Visitor>
5978
    constexpr decltype(auto) visit(Visitor&& vis);
5979
5980
    template <typename R, typename Visitor>
5981
    constexpr R visit(Visitor&& vis);
5982
5983
private:
5984
    template <typename ContextType, typename T>
5985
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5986
5987
    template <typename C>
5988
    friend constexpr detail::arg_type& detail::get_arg_type(
5989
        basic_scan_arg<C>& arg);
5990
    template <typename C>
5991
    friend constexpr detail::arg_type detail::get_arg_type(
5992
        const basic_scan_arg<C>& arg);
5993
5994
    template <typename C>
5995
    friend constexpr detail::arg_value& detail::get_arg_value(
5996
        basic_scan_arg<C>& arg);
5997
    template <typename C>
5998
    friend constexpr detail::arg_value detail::get_arg_value(
5999
        const basic_scan_arg<C>& arg);
6000
6001
    friend class basic_scan_args<Context>;
6002
6003
    detail::arg_value m_value{};
6004
    detail::arg_type m_type{detail::arg_type::none_type};
6005
};
6006
6007
namespace detail {
6008
template <typename Context>
6009
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6010
118k
{
6011
118k
    return arg.m_type;
6012
118k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6010
75.0k
{
6011
75.0k
    return arg.m_type;
6012
75.0k
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6010
43.2k
{
6011
43.2k
    return arg.m_type;
6012
43.2k
}
6013
6014
template <typename Context>
6015
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6016
{
6017
    return arg.m_type;
6018
}
6019
6020
template <typename Context>
6021
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6022
42.3k
{
6023
42.3k
    return arg.m_value;
6024
42.3k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6022
26.6k
{
6023
26.6k
    return arg.m_value;
6024
26.6k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6022
15.6k
{
6023
15.6k
    return arg.m_value;
6024
15.6k
}
6025
6026
template <typename Context>
6027
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6028
{
6029
    return arg.m_value;
6030
}
6031
6032
template <typename CharT>
6033
constexpr bool all_types_builtin()
6034
0
{
6035
0
    return true;
6036
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6037
template <typename CharT, typename T, typename... Args>
6038
constexpr bool all_types_builtin()
6039
0
{
6040
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6041
0
           all_types_builtin<CharT, Args...>();
6042
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
6043
6044
template <typename CharT, typename... Args>
6045
constexpr scan_arg_store_kind determine_arg_store_kind()
6046
0
{
6047
0
    if (sizeof...(Args) > max_packed_args) {
6048
0
        return scan_arg_store_kind::unpacked;
6049
0
    }
6050
0
#if !(SCN_CLANG && SCN_APPLE)
6051
0
    // This doesn't work on Apple Clang. I don't know why
6052
0
    if (all_types_builtin<CharT, Args...>()) {
6053
0
        return scan_arg_store_kind::builtin;
6054
0
    }
6055
0
#endif
6056
0
    return scan_arg_store_kind::packed;
6057
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6058
6059
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6060
constexpr size_t compute_arg_store_desc()
6061
0
{
6062
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6063
0
        return encode_types<CharT, Args...>();
6064
0
    }
6065
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6066
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6067
0
    }
6068
0
    else {
6069
0
        return sizeof...(Args) | is_unpacked_bit;
6070
0
    }
6071
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
6072
6073
template <typename Context, typename... Args>
6074
class scan_arg_store {
6075
public:
6076
    static constexpr scan_arg_store_kind kind =
6077
        determine_arg_store_kind<typename Context::char_type, Args...>();
6078
    static constexpr size_t desc =
6079
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6080
6081
    using argptr_type = std::conditional_t<
6082
        kind == scan_arg_store_kind::builtin,
6083
        void*,
6084
        std::conditional_t<kind == scan_arg_store_kind::packed,
6085
                           arg_value,
6086
                           basic_scan_arg<Context>>>;
6087
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6088
6089
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6090
149k
        : args(std::apply(make_argptrs<Args...>, args))
6091
149k
    {
6092
149k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::scan_arg_store(std::__1::tuple<char>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6090
5.54k
        : args(std::apply(make_argptrs<Args...>, args))
6091
5.54k
    {
6092
5.54k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::scan_arg_store(std::__1::tuple<wchar_t>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::scan_arg_store(std::__1::tuple<double>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::scan_arg_store(std::__1::tuple<bool>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::scan_arg_store(std::__1::tuple<void*>&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6090
11.0k
        : args(std::apply(make_argptrs<Args...>, args))
6091
11.0k
    {
6092
11.0k
    }
6093
6094
    argptrs_type args;
6095
6096
private:
6097
    template <typename... A>
6098
    static constexpr argptrs_type make_argptrs(A&... args)
6099
149k
    {
6100
149k
        return {detail::make_arg<
6101
149k
            kind, Context,
6102
149k
            mapped_type_constant<remove_cvref_t<A>,
6103
149k
                                 typename Context::char_type>::value>(args)...};
6104
149k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>::make_argptrs<char>(char&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6099
5.54k
    {
6100
5.54k
        return {detail::make_arg<
6101
5.54k
            kind, Context,
6102
5.54k
            mapped_type_constant<remove_cvref_t<A>,
6103
5.54k
                                 typename Context::char_type>::value>(args)...};
6104
5.54k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6099
11.0k
    {
6100
11.0k
        return {detail::make_arg<
6101
11.0k
            kind, Context,
6102
11.0k
            mapped_type_constant<remove_cvref_t<A>,
6103
11.0k
                                 typename Context::char_type>::value>(args)...};
6104
11.0k
    }
6105
};
6106
6107
}  // namespace detail
6108
6109
/**
6110
 * Creates a type-erased argument store over the arguments in `values`.
6111
 */
6112
template <typename Context = scan_context, typename... Args>
6113
constexpr auto make_scan_args(std::tuple<Args...>& values)
6114
149k
{
6115
149k
    detail::check_scan_arg_types<Args...>();
6116
149k
    return detail::scan_arg_store<Context, Args...>(values);
6117
149k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char>(std::__1::tuple<char>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
6114
5.54k
{
6115
5.54k
    detail::check_scan_arg_types<Args...>();
6116
5.54k
    return detail::scan_arg_store<Context, Args...>(values);
6117
5.54k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t>(std::__1::tuple<wchar_t>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double>(std::__1::tuple<double>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool>(std::__1::tuple<bool>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*>(std::__1::tuple<void*>&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
6114
11.0k
{
6115
11.0k
    detail::check_scan_arg_types<Args...>();
6116
11.0k
    return detail::scan_arg_store<Context, Args...>(values);
6117
11.0k
}
6118
6119
template <typename... Args>
6120
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6121
{
6122
    detail::check_scan_arg_types<Args...>();
6123
    return detail::scan_arg_store<wscan_context, Args...>(values);
6124
}
6125
6126
/**
6127
 * A view over a collection of scanning arguments (`scan_arg_store`).
6128
 *
6129
 * Passed to `scn::vscan`, where it's automatically constructed from a
6130
 * `scan_arg_store`.
6131
 */
6132
template <typename Context>
6133
class basic_scan_args {
6134
public:
6135
0
    constexpr basic_scan_args() = default;
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
6136
6137
    template <typename... Args>
6138
    SCN_IMPLICIT constexpr basic_scan_args(
6139
        const detail::scan_arg_store<Context, Args...>& store)
6140
149k
        : basic_scan_args(store.desc, store.args.data())
6141
149k
    {
6142
149k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, char> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, bool> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, void*> const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
Line
Count
Source
6140
5.54k
        : basic_scan_args(store.desc, store.args.data())
6141
5.54k
    {
6142
5.54k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<wchar_t>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, wchar_t> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, double> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<bool>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, bool> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<void*>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, void*> const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
Line
Count
Source
6140
11.0k
        : basic_scan_args(store.desc, store.args.data())
6141
11.0k
    {
6142
11.0k
    }
6143
6144
    /**
6145
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6146
     * there's no argument at index `id`.
6147
     */
6148
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6149
48.4k
    {
6150
48.4k
        if (SCN_UNLIKELY(!is_packed())) {
6151
0
            if (SCN_LIKELY(id < max_size())) {
6152
0
                return m_args[id];
6153
0
            }
6154
0
            return {};
6155
0
        }
6156
6157
48.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6158
136
            return {};
6159
136
        }
6160
6161
48.3k
        const auto t = type(id);
6162
48.3k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6163
2.33k
            return {};
6164
2.33k
        }
6165
6166
46.0k
        basic_scan_arg<Context> arg;
6167
46.0k
        arg.m_type = t;
6168
46.0k
        if (is_only_builtin()) {
6169
46.0k
            arg.m_value.ref_value = m_builtin_values[id];
6170
46.0k
        }
6171
0
        else {
6172
0
            arg.m_value = m_values[id];
6173
0
        }
6174
46.0k
        return arg;
6175
48.3k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6149
29.9k
    {
6150
29.9k
        if (SCN_UNLIKELY(!is_packed())) {
6151
0
            if (SCN_LIKELY(id < max_size())) {
6152
0
                return m_args[id];
6153
0
            }
6154
0
            return {};
6155
0
        }
6156
6157
29.9k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6158
68
            return {};
6159
68
        }
6160
6161
29.9k
        const auto t = type(id);
6162
29.9k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6163
1.29k
            return {};
6164
1.29k
        }
6165
6166
28.6k
        basic_scan_arg<Context> arg;
6167
28.6k
        arg.m_type = t;
6168
28.6k
        if (is_only_builtin()) {
6169
28.6k
            arg.m_value.ref_value = m_builtin_values[id];
6170
28.6k
        }
6171
0
        else {
6172
0
            arg.m_value = m_values[id];
6173
0
        }
6174
28.6k
        return arg;
6175
29.9k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6149
18.4k
    {
6150
18.4k
        if (SCN_UNLIKELY(!is_packed())) {
6151
0
            if (SCN_LIKELY(id < max_size())) {
6152
0
                return m_args[id];
6153
0
            }
6154
0
            return {};
6155
0
        }
6156
6157
18.4k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6158
68
            return {};
6159
68
        }
6160
6161
18.4k
        const auto t = type(id);
6162
18.4k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6163
1.04k
            return {};
6164
1.04k
        }
6165
6166
17.3k
        basic_scan_arg<Context> arg;
6167
17.3k
        arg.m_type = t;
6168
17.3k
        if (is_only_builtin()) {
6169
17.3k
            arg.m_value.ref_value = m_builtin_values[id];
6170
17.3k
        }
6171
0
        else {
6172
0
            arg.m_value = m_values[id];
6173
0
        }
6174
17.3k
        return arg;
6175
18.4k
    }
6176
6177
    /**
6178
     * \return Number of arguments in `*this`.
6179
     */
6180
    SCN_NODISCARD constexpr std::size_t size() const
6181
149k
    {
6182
149k
        if (SCN_UNLIKELY(!is_packed())) {
6183
0
            return max_size();
6184
0
        }
6185
6186
149k
        return static_cast<std::size_t>(m_desc &
6187
149k
                                        ((1 << detail::packed_arg_bits) - 1));
6188
149k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6181
49.8k
    {
6182
49.8k
        if (SCN_UNLIKELY(!is_packed())) {
6183
0
            return max_size();
6184
0
        }
6185
6186
49.8k
        return static_cast<std::size_t>(m_desc &
6187
49.8k
                                        ((1 << detail::packed_arg_bits) - 1));
6188
49.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6181
99.7k
    {
6182
99.7k
        if (SCN_UNLIKELY(!is_packed())) {
6183
0
            return max_size();
6184
0
        }
6185
6186
99.7k
        return static_cast<std::size_t>(m_desc &
6187
99.7k
                                        ((1 << detail::packed_arg_bits) - 1));
6188
99.7k
    }
6189
6190
private:
6191
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6192
149k
        : m_desc(desc), m_builtin_values(data)
6193
149k
    {
6194
149k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6192
49.8k
        : m_desc(desc), m_builtin_values(data)
6193
49.8k
    {
6194
49.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6192
99.7k
        : m_desc(desc), m_builtin_values(data)
6193
99.7k
    {
6194
99.7k
    }
6195
    constexpr explicit basic_scan_args(size_t desc,
6196
                                       const detail::arg_value* data)
6197
        : m_desc(desc), m_values(data)
6198
    {
6199
    }
6200
    constexpr explicit basic_scan_args(size_t desc,
6201
                                       const basic_scan_arg<Context>* data)
6202
        : m_desc(desc), m_args(data)
6203
    {
6204
    }
6205
6206
    SCN_NODISCARD constexpr bool is_packed() const
6207
198k
    {
6208
198k
        return (m_desc & detail::is_unpacked_bit) == 0;
6209
198k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6207
79.8k
    {
6208
79.8k
        return (m_desc & detail::is_unpacked_bit) == 0;
6209
79.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6207
118k
    {
6208
118k
        return (m_desc & detail::is_unpacked_bit) == 0;
6209
118k
    }
6210
    SCN_NODISCARD constexpr bool is_only_builtin() const
6211
46.0k
    {
6212
46.0k
        return (m_desc & detail::has_custom_types_bit) == 0;
6213
46.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6211
28.6k
    {
6212
28.6k
        return (m_desc & detail::has_custom_types_bit) == 0;
6213
28.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6211
17.3k
    {
6212
17.3k
        return (m_desc & detail::has_custom_types_bit) == 0;
6213
17.3k
    }
6214
6215
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6216
48.3k
    {
6217
        // First (0th) index is size, types start after that
6218
48.3k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6219
48.3k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6220
48.3k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6221
48.3k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6216
29.9k
    {
6217
        // First (0th) index is size, types start after that
6218
29.9k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6219
29.9k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6220
29.9k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6221
29.9k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6216
18.4k
    {
6217
        // First (0th) index is size, types start after that
6218
18.4k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6219
18.4k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6220
18.4k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6221
18.4k
    }
6222
6223
    SCN_NODISCARD constexpr std::size_t max_size() const
6224
0
    {
6225
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6226
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6227
0
                                          ~detail::has_custom_types_bit);
6228
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6229
6230
    size_t m_desc{0};
6231
    union {
6232
        void* const* m_builtin_values;
6233
        const detail::arg_value* m_values;
6234
        const basic_scan_arg<Context>* m_args{nullptr};
6235
    };
6236
};
6237
6238
/////////////////////////////////////////////////////////////////
6239
// scan_parse_context
6240
/////////////////////////////////////////////////////////////////
6241
6242
template <typename T>
6243
struct source_tag_type {
6244
    using type = T;
6245
};
6246
template <typename T>
6247
inline constexpr auto source_tag = source_tag_type<T>{};
6248
6249
/**
6250
 * Format string parsing context, wrapping the format string being parsed,
6251
 * and a counter for argument indexing.
6252
 *
6253
 * \ingroup ctx
6254
 */
6255
template <typename CharT>
6256
class basic_scan_parse_context {
6257
public:
6258
    using char_type = CharT;
6259
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6260
    using const_iterator = iterator;
6261
6262
    /**
6263
     * Construct a `basic_scan_parse_context` over a format string `format`.
6264
     */
6265
    [[deprecated(
6266
        "Use the source_tag constructor instead,"
6267
        "to get more compile-time checking")]] explicit constexpr
6268
    basic_scan_parse_context(std::basic_string_view<CharT> format,
6269
                             int next_arg_id = 0)
6270
        : m_format{format}, m_next_arg_id{next_arg_id}
6271
    {
6272
    }
6273
6274
    template <typename Source>
6275
    explicit constexpr basic_scan_parse_context(
6276
        source_tag_type<Source>,
6277
        std::basic_string_view<CharT> format,
6278
        int next_arg_id = 0)
6279
149k
        : m_format{format},
6280
149k
          m_next_arg_id{next_arg_id},
6281
149k
          m_is_contiguous(ranges::range<Source> &&
6282
149k
                          ranges::contiguous_range<Source>),
6283
          m_is_borrowed(
6284
149k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6285
149k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6286
149k
    {
6287
149k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6279
49.8k
        : m_format{format},
6280
49.8k
          m_next_arg_id{next_arg_id},
6281
49.8k
          m_is_contiguous(ranges::range<Source> &&
6282
49.8k
                          ranges::contiguous_range<Source>),
6283
          m_is_borrowed(
6284
49.8k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6285
49.8k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6286
49.8k
    {
6287
49.8k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6279
99.7k
        : m_format{format},
6280
99.7k
          m_next_arg_id{next_arg_id},
6281
99.7k
          m_is_contiguous(ranges::range<Source> &&
6282
99.7k
                          ranges::contiguous_range<Source>),
6283
          m_is_borrowed(
6284
99.7k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6285
99.7k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6286
99.7k
    {
6287
99.7k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
6288
6289
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6290
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6291
        delete;
6292
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6293
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6294
    ~basic_scan_parse_context() = default;
6295
6296
    /// Returns an iterator pointing to the beginning of the format string
6297
    constexpr auto begin() const noexcept
6298
70.3k
    {
6299
70.3k
        return m_format.data();
6300
70.3k
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6298
45.3k
    {
6299
45.3k
        return m_format.data();
6300
45.3k
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6298
25.0k
    {
6299
25.0k
        return m_format.data();
6300
25.0k
    }
6301
    /// Returns an iterator pointing to the end of the format string
6302
    constexpr auto end() const noexcept
6303
    {
6304
        return m_format.data() + m_format.size();
6305
    }
6306
6307
    /// Advance the beginning of the format string to `it`
6308
    constexpr void advance_to(iterator it)
6309
32.3k
    {
6310
32.3k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6311
32.3k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6309
21.1k
    {
6310
21.1k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6311
21.1k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6309
11.2k
    {
6310
11.2k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6311
11.2k
    }
6312
6313
    constexpr size_t next_arg_id()
6314
46.6k
    {
6315
46.6k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6316
192
            on_error(
6317
192
                "Cannot switch from manual to automatic argument indexing");
6318
192
            return 0;
6319
192
        }
6320
6321
46.4k
        auto id = static_cast<size_t>(m_next_arg_id++);
6322
46.4k
        do_check_arg_id(id);
6323
46.4k
        return id;
6324
46.6k
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6314
29.5k
    {
6315
29.5k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6316
42
            on_error(
6317
42
                "Cannot switch from manual to automatic argument indexing");
6318
42
            return 0;
6319
42
        }
6320
6321
29.4k
        auto id = static_cast<size_t>(m_next_arg_id++);
6322
29.4k
        do_check_arg_id(id);
6323
29.4k
        return id;
6324
29.5k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6314
17.0k
    {
6315
17.0k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6316
150
            on_error(
6317
150
                "Cannot switch from manual to automatic argument indexing");
6318
150
            return 0;
6319
150
        }
6320
6321
16.9k
        auto id = static_cast<size_t>(m_next_arg_id++);
6322
16.9k
        do_check_arg_id(id);
6323
16.9k
        return id;
6324
17.0k
    }
6325
6326
    constexpr void check_arg_id(std::size_t id)
6327
1.96k
    {
6328
1.96k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6329
148
            on_error(
6330
148
                "Cannot switch from manual to automatic argument indexing");
6331
148
            return;
6332
148
        }
6333
1.81k
        m_next_arg_id = -1;
6334
1.81k
        do_check_arg_id(id);
6335
1.81k
    }
scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
6327
520
    {
6328
520
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6329
70
            on_error(
6330
70
                "Cannot switch from manual to automatic argument indexing");
6331
70
            return;
6332
70
        }
6333
450
        m_next_arg_id = -1;
6334
450
        do_check_arg_id(id);
6335
450
    }
scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
6327
1.44k
    {
6328
1.44k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6329
78
            on_error(
6330
78
                "Cannot switch from manual to automatic argument indexing");
6331
78
            return;
6332
78
        }
6333
1.36k
        m_next_arg_id = -1;
6334
1.36k
        do_check_arg_id(id);
6335
1.36k
    }
6336
6337
    /**
6338
     * Fail format string parsing with the message `msg`.
6339
     * Calling this member function is not a constant expression,
6340
     * causing a compile-time error, if compile-time format string checking is
6341
     * enabled.
6342
     */
6343
    scan_error on_error(const char* msg)
6344
340
    {
6345
340
        m_error = unexpected(detail::handle_error(
6346
340
            scan_error{scan_error::invalid_format_string, msg}));
6347
340
        return m_error.error();
6348
340
    }
scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Line
Count
Source
6344
112
    {
6345
112
        m_error = unexpected(detail::handle_error(
6346
112
            scan_error{scan_error::invalid_format_string, msg}));
6347
112
        return m_error.error();
6348
112
    }
scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
Line
Count
Source
6344
228
    {
6345
228
        m_error = unexpected(detail::handle_error(
6346
228
            scan_error{scan_error::invalid_format_string, msg}));
6347
228
        return m_error.error();
6348
228
    }
6349
6350
    scan_expected<void> get_error()
6351
    {
6352
        return m_error;
6353
    }
6354
6355
    [[nodiscard]] constexpr bool is_source_contiguous() const
6356
    {
6357
        return m_is_contiguous;
6358
    }
6359
6360
    [[nodiscard]] constexpr bool is_source_borrowed() const
6361
    {
6362
        return m_is_borrowed;
6363
    }
6364
6365
protected:
6366
    constexpr void do_check_arg_id(size_t id);
6367
6368
    std::basic_string_view<CharT> m_format;
6369
    scan_expected<void> m_error{};
6370
    int m_next_arg_id{0};
6371
    bool m_is_contiguous{false}, m_is_borrowed{false};
6372
};
6373
6374
/////////////////////////////////////////////////////////////////
6375
// Result types
6376
/////////////////////////////////////////////////////////////////
6377
6378
namespace detail {
6379
template <typename... Args>
6380
struct scan_result_value_storage {
6381
public:
6382
    using tuple_type = std::tuple<Args...>;
6383
6384
149k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<char>::scan_result_value_storage()
Line
Count
Source
6384
5.54k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<bool>::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<void*>::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6384
16.6k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage()
Line
Count
Source
6384
5.54k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage()
Line
Count
Source
6384
11.0k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage()
Line
Count
Source
6384
11.0k
    constexpr scan_result_value_storage() = default;
6385
6386
    constexpr scan_result_value_storage(tuple_type&& values)
6387
        : m_values(SCN_MOVE(values))
6388
    {
6389
    }
6390
6391
    /// Access the scanned values
6392
    tuple_type& values() &
6393
149k
    {
6394
149k
        return m_values;
6395
149k
    }
scn::v4::detail::scan_result_value_storage<char>::values() &
Line
Count
Source
6393
5.54k
    {
6394
5.54k
        return m_values;
6395
5.54k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<double>::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<bool>::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<void*>::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::values() &
Line
Count
Source
6393
16.6k
    {
6394
16.6k
        return m_values;
6395
16.6k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::values() &
Line
Count
Source
6393
5.54k
    {
6394
5.54k
        return m_values;
6395
5.54k
    }
scn::v4::detail::scan_result_value_storage<wchar_t>::values() &
Line
Count
Source
6393
11.0k
    {
6394
11.0k
        return m_values;
6395
11.0k
    }
scn::v4::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::values() &
Line
Count
Source
6393
11.0k
    {
6394
11.0k
        return m_values;
6395
11.0k
    }
6396
    /// Access the scanned values
6397
    const tuple_type& values() const&
6398
    {
6399
        return m_values;
6400
    }
6401
    /// Access the scanned values
6402
    tuple_type&& values() &&
6403
    {
6404
        return SCN_MOVE(m_values);
6405
    }
6406
    /// Access the scanned values
6407
    const tuple_type&& values() const&&
6408
    {
6409
        return SCN_MOVE(m_values);
6410
    }
6411
6412
    /// Access the single scanned value
6413
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6414
    decltype(auto) value() &
6415
0
    {
6416
0
        return std::get<0>(m_values);
6417
0
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6418
    /// Access the single scanned value
6419
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6420
    decltype(auto) value() const&
6421
    {
6422
        return std::get<0>(m_values);
6423
    }
6424
    /// Access the single scanned value
6425
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6426
    decltype(auto) value() &&
6427
    {
6428
        return SCN_MOVE(std::get<0>(m_values));
6429
    }
6430
    /// Access the single scanned value
6431
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6432
    decltype(auto) value() const&&
6433
    {
6434
        return SCN_MOVE(std::get<0>(m_values));
6435
    }
6436
6437
private:
6438
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6439
};
6440
6441
struct scan_result_convert_tag {};
6442
6443
template <typename Range>
6444
struct scan_result_range_storage {
6445
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6446
                  "scan_result<Range> accepts only subranges as Ranges");
6447
6448
public:
6449
    using range_type = Range;
6450
    using iterator = ranges::iterator_t<Range>;
6451
    using sentinel = ranges::sentinel_t<Range>;
6452
6453
149k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6453
49.8k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6453
99.7k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6454
6455
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6456
    {
6457
    }
6458
6459
    template <typename R>
6460
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6461
        : m_range(SCN_MOVE(r))
6462
    {
6463
    }
6464
6465
    /// Access the ununsed source range
6466
    range_type range() const
6467
    {
6468
        return m_range;
6469
    }
6470
6471
    /// The beginning of the unused source range
6472
    auto begin() const
6473
0
    {
6474
0
        return ranges::begin(m_range);
6475
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6476
    /// The end of the unused source range
6477
    auto end() const
6478
0
    {
6479
0
        return ranges::end(m_range);
6480
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6481
6482
    template <typename Other>
6483
    void set_range(Other&& r)
6484
4.23k
    {
6485
4.23k
        m_range = std::forward<Other>(r);
6486
4.23k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6484
2.20k
    {
6485
2.20k
        m_range = std::forward<Other>(r);
6486
2.20k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6484
2.02k
    {
6485
2.02k
        m_range = std::forward<Other>(r);
6486
2.02k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6487
6488
protected:
6489
    template <typename Other>
6490
    void assign_range(Other&& r)
6491
    {
6492
        m_range = r.m_range;
6493
    }
6494
6495
private:
6496
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6497
};
6498
6499
struct scan_result_file_storage {
6500
public:
6501
    using range_type = std::FILE*;
6502
6503
    constexpr scan_result_file_storage() = default;
6504
6505
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6506
6507
    /// File used for scanning
6508
    std::FILE* file() const
6509
0
    {
6510
0
        return m_file;
6511
0
    }
6512
6513
    void set_range(std::FILE* f)
6514
0
    {
6515
0
        m_file = f;
6516
0
    }
6517
6518
protected:
6519
    void assign_range(const scan_result_file_storage& f)
6520
0
    {
6521
0
        m_file = f.m_file;
6522
0
    }
6523
6524
private:
6525
    std::FILE* m_file{nullptr};
6526
};
6527
6528
struct scan_result_dangling {
6529
    using range_type = ranges::dangling;
6530
6531
    constexpr scan_result_dangling() = default;
6532
6533
    template <typename... Args>
6534
    explicit constexpr scan_result_dangling(Args&&...)
6535
    {
6536
    }
6537
6538
    range_type range() const
6539
0
    {
6540
0
        return {};
6541
0
    }
6542
6543
    ranges::dangling begin() const
6544
0
    {
6545
0
        return {};
6546
0
    }
6547
    ranges::dangling end() const
6548
0
    {
6549
0
        return {};
6550
0
    }
6551
6552
    template <typename... Args>
6553
    void set_range(Args&&...)
6554
    {
6555
    }
6556
6557
protected:
6558
    template <typename... Args>
6559
    void assign_range(Args&&...)
6560
    {
6561
    }
6562
};
6563
6564
template <typename Range>
6565
constexpr auto get_scan_result_base()
6566
0
{
6567
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6568
0
        return type_identity<scan_result_dangling>{};
6569
0
    }
6570
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6571
0
        return type_identity<scan_result_file_storage>{};
6572
0
    }
6573
0
    else {
6574
0
        return type_identity<scan_result_range_storage<Range>>{};
6575
0
    }
6576
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6577
6578
#if !SCN_DOXYGEN
6579
template <typename Range>
6580
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6581
#else
6582
template <typename Range>
6583
using scan_result_base = scan_result_range_storage<Range>;
6584
#endif
6585
}  // namespace detail
6586
6587
/**
6588
 * \defgroup result Result types
6589
 *
6590
 * \brief Result and error types
6591
 *
6592
 * Instead of using exceptions, `scn::scan` and others return an object of
6593
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6594
 */
6595
6596
/**
6597
 * Type returned by `scan`, contains the unused input as a subrange, and the
6598
 * scanned values in a tuple.
6599
 */
6600
template <typename Range, typename... Args>
6601
class scan_result : public detail::scan_result_base<Range>,
6602
                    public detail::scan_result_value_storage<Args...> {
6603
    using range_base = detail::scan_result_base<Range>;
6604
    using value_base = detail::scan_result_value_storage<Args...>;
6605
6606
public:
6607
    using range_type = typename range_base::range_type;
6608
    using tuple_type = typename value_base::tuple_type;
6609
6610
149k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result()
Line
Count
Source
6610
5.54k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result()
Line
Count
Source
6610
11.0k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6611
6612
    constexpr scan_result(const scan_result&) = default;
6613
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6614
    constexpr scan_result& operator=(const scan_result&) = default;
6615
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6616
6617
33.2k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6617
5.54k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6617
5.54k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
6617
11.0k
    ~scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
6617
11.0k
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6618
6619
    scan_result(range_type r, tuple_type&& values)
6620
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6621
    {
6622
    }
6623
6624
    template <typename OtherR,
6625
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6626
                  nullptr>
6627
    scan_result(OtherR&& r, tuple_type&& values)
6628
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6629
          value_base(SCN_MOVE(values))
6630
    {
6631
    }
6632
6633
    template <typename OtherR,
6634
              std::enable_if_t<
6635
                  std::is_constructible_v<range_type, OtherR> &&
6636
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6637
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6638
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6639
          value_base(o.values())
6640
    {
6641
    }
6642
    template <typename OtherR,
6643
              std::enable_if_t<
6644
                  std::is_constructible_v<range_type, OtherR> &&
6645
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6646
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6647
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6648
          value_base(o.values())
6649
    {
6650
    }
6651
6652
    template <typename OtherR,
6653
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6654
                               std::is_convertible_v<OtherR&&, range_type>>* =
6655
                  nullptr>
6656
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6657
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6658
          value_base(SCN_MOVE(o.values()))
6659
    {
6660
    }
6661
    template <typename OtherR,
6662
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6663
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6664
                  nullptr>
6665
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6666
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6667
          value_base(SCN_MOVE(o.values()))
6668
    {
6669
    }
6670
6671
    template <typename OtherR,
6672
              typename =
6673
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6674
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6675
    {
6676
        this->assign_range(o);
6677
        this->values() = o.values();
6678
        return *this;
6679
    }
6680
6681
    template <typename OtherR,
6682
              typename =
6683
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6684
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6685
    {
6686
        this->assign_range(o);
6687
        this->values() = SCN_MOVE(o.values());
6688
        return *this;
6689
    }
6690
};
6691
6692
template <typename R, typename... Args>
6693
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6694
template <typename R, typename Ctx, typename... Args>
6695
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6696
    -> scan_result<R, Args...>;
6697
6698
namespace detail {
6699
template <typename SourceRange>
6700
auto make_vscan_result_range_end(SourceRange& source)
6701
4.23k
{
6702
4.23k
    return ranges::end(source);
6703
4.23k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6701
2.20k
{
6702
2.20k
    return ranges::end(source);
6703
2.20k
}
auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6701
2.02k
{
6702
2.02k
    return ranges::end(source);
6703
2.02k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
6704
template <typename CharT, size_t N>
6705
auto make_vscan_result_range_end(CharT (&source)[N])
6706
    -> ranges::sentinel_t<CharT (&)[N]>
6707
{
6708
    return source + N - 1;
6709
}
6710
6711
template <typename SourceRange>
6712
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6713
    -> borrowed_tail_subrange_t<SourceRange>
6714
4.23k
{
6715
    if constexpr (ranges::random_access_iterator<
6716
4.23k
                      ranges::iterator_t<SourceRange>>) {
6717
4.23k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6718
    }
6719
0
    else {
6720
0
        auto it = ranges::begin(source);
6721
0
        while (n > 0) {
6722
0
            --n;
6723
0
            ++it;
6724
0
        }
6725
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6726
0
    }
6727
4.23k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6714
2.20k
{
6715
    if constexpr (ranges::random_access_iterator<
6716
2.20k
                      ranges::iterator_t<SourceRange>>) {
6717
2.20k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6718
    }
6719
    else {
6720
        auto it = ranges::begin(source);
6721
        while (n > 0) {
6722
            --n;
6723
            ++it;
6724
        }
6725
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6726
    }
6727
2.20k
}
_ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
6714
2.02k
{
6715
    if constexpr (ranges::random_access_iterator<
6716
2.02k
                      ranges::iterator_t<SourceRange>>) {
6717
2.02k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6718
    }
6719
    else {
6720
        auto it = ranges::begin(source);
6721
        while (n > 0) {
6722
            --n;
6723
            ++it;
6724
        }
6725
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6726
    }
6727
2.02k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
6728
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6729
0
{
6730
0
    return source;
6731
0
}
6732
}  // namespace detail
6733
6734
/////////////////////////////////////////////////////////////////
6735
// Format string parsing
6736
/////////////////////////////////////////////////////////////////
6737
6738
namespace detail {
6739
/// Parse context with extra data used only for compile-time checks
6740
template <typename CharT>
6741
class compile_parse_context : public basic_scan_parse_context<CharT> {
6742
    using base = basic_scan_parse_context<CharT>;
6743
6744
public:
6745
    template <typename Source>
6746
    explicit constexpr compile_parse_context(
6747
        source_tag_type<Source>,
6748
        std::basic_string_view<CharT> format_str,
6749
        int num_args,
6750
        const arg_type* types,
6751
        int next_arg_id = 0)
6752
        : base(source_tag<Source>, format_str, next_arg_id),
6753
          m_num_args(num_args),
6754
          m_types(types)
6755
    {
6756
    }
6757
6758
    SCN_NODISCARD constexpr int get_num_args() const
6759
0
    {
6760
0
        return m_num_args;
6761
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6762
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6763
    {
6764
        return m_types[id];
6765
    }
6766
6767
    SCN_GCC_PUSH
6768
    SCN_GCC_IGNORE("-Wsign-conversion")
6769
6770
    constexpr std::size_t next_arg_id()
6771
    {
6772
        auto id = base::next_arg_id();
6773
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6774
            this->on_error("Argument not found");
6775
        }
6776
        return id;
6777
    }
6778
6779
    constexpr void check_arg_id(std::size_t id)
6780
    {
6781
        base::check_arg_id(id);
6782
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6783
            this->on_error("Argument not found");
6784
        }
6785
    }
6786
    using base::check_arg_id;
6787
6788
private:
6789
    int m_num_args;
6790
    const arg_type* m_types;
6791
6792
    SCN_GCC_POP  // -Wsign-conversion
6793
};
6794
6795
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6796
0
{
6797
0
#ifdef __cpp_lib_is_constant_evaluated
6798
0
    SCN_UNUSED(default_value);
6799
0
    return std::is_constant_evaluated();
6800
0
#else
6801
0
    return default_value;
6802
0
#endif
6803
0
}
6804
}  // namespace detail
6805
6806
template <typename CharT>
6807
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6808
48.2k
{
6809
48.2k
    if (detail::is_constant_evaluated() &&
6810
48.2k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6811
        // The cast below will cause an error on gcc pre-12
6812
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6813
0
        if (static_cast<int>(id) >=
6814
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6815
0
            SCN_UNLIKELY_ATTR
6816
0
            on_error("Argument not found");
6817
0
        }
6818
0
    }
6819
48.2k
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6808
29.9k
{
6809
29.9k
    if (detail::is_constant_evaluated() &&
6810
29.9k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6811
        // The cast below will cause an error on gcc pre-12
6812
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6813
0
        if (static_cast<int>(id) >=
6814
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6815
0
            SCN_UNLIKELY_ATTR
6816
0
            on_error("Argument not found");
6817
0
        }
6818
0
    }
6819
29.9k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6808
18.3k
{
6809
18.3k
    if (detail::is_constant_evaluated() &&
6810
18.3k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6811
        // The cast below will cause an error on gcc pre-12
6812
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6813
0
        if (static_cast<int>(id) >=
6814
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6815
0
            SCN_UNLIKELY_ATTR
6816
0
            on_error("Argument not found");
6817
0
        }
6818
0
    }
6819
18.3k
}
6820
6821
namespace detail {
6822
enum class align_type : unsigned char {
6823
    none = 0,
6824
    left = 1,   // '<'
6825
    right = 2,  // '>'
6826
    center = 3  // '^'
6827
};
6828
6829
enum class presentation_type {
6830
    none,
6831
    int_binary,            // 'b', 'B'
6832
    int_decimal,           // 'd'
6833
    int_generic,           // 'i'
6834
    int_unsigned_decimal,  // 'u'
6835
    int_octal,             // 'o'
6836
    int_hex,               // 'x', 'X'
6837
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6838
    float_hex,             // 'a', 'A'
6839
    float_scientific,      // 'e', 'E'
6840
    float_fixed,           // 'f', 'F'
6841
    float_general,         // 'g', 'G'
6842
    string,                // 's'
6843
    string_set,            // '[...]'
6844
    regex,                 // '/.../.'
6845
    regex_escaped,         // '/..\/../.'
6846
    character,             // 'c'
6847
    escaped_character,     // '?'
6848
    pointer,               // 'p'
6849
};
6850
6851
enum class regex_flags {
6852
    none = 0,
6853
    multiline = 1,   // /m
6854
    singleline = 2,  // /s
6855
    nocase = 4,      // /i
6856
    nocapture = 8,   // /n
6857
    // TODO?
6858
    // would probably need to go hand-in-hand with locale,
6859
    // where it could even be the default/only option -> no flag?
6860
    // why else would you even use locale with a regex?
6861
    // collate = 16,
6862
};
6863
6864
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6865
1.60k
{
6866
1.60k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6867
1.60k
                                    static_cast<unsigned>(b));
6868
1.60k
}
6869
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6870
222
{
6871
222
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6872
222
                                    static_cast<unsigned>(b));
6873
222
}
6874
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6875
0
{
6876
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6877
0
                                    static_cast<unsigned>(b));
6878
0
}
6879
6880
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6881
0
{
6882
0
    return a = a & b;
6883
0
}
6884
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6885
222
{
6886
222
    return a = a | b;
6887
222
}
6888
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6889
0
{
6890
0
    return a = a ^ b;
6891
0
}
6892
6893
class fill_type {
6894
public:
6895
    constexpr void operator=(char c)
6896
0
    {
6897
0
        m_data[0] = c;
6898
0
        m_size = 1;
6899
0
    }
6900
6901
    template <typename CharT>
6902
    constexpr void operator=(std::basic_string_view<CharT> s)
6903
4.67k
    {
6904
4.67k
        SCN_EXPECT(!s.empty());
6905
4.67k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6906
4.67k
        if constexpr (sizeof(CharT) == 1) {
6907
9.03k
            for (size_t i = 0; i < s.size(); ++i) {
6908
6.54k
                SCN_GCC_PUSH
6909
6.54k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6910
6.54k
                m_data[i] = s[i];
6911
6.54k
                SCN_GCC_POP
6912
6.54k
            }
6913
2.49k
            m_size = static_cast<unsigned char>(s.size());
6914
        }
6915
        else if constexpr (sizeof(CharT) == 2) {
6916
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6917
            m_data[1] =
6918
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6919
            if (s.size() == 1) {
6920
                return;
6921
            }
6922
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6923
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6924
        }
6925
2.18k
        else {
6926
2.18k
            const auto front = static_cast<unsigned>(s.front());
6927
2.18k
            m_data[0] = static_cast<char>(front);
6928
2.18k
            m_data[1] = static_cast<char>(front >> 8);
6929
2.18k
            m_data[2] = static_cast<char>(front >> 16);
6930
2.18k
            m_data[3] = static_cast<char>(front >> 24);
6931
2.18k
        }
6932
4.67k
    }
void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6903
2.49k
    {
6904
2.49k
        SCN_EXPECT(!s.empty());
6905
2.49k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6906
2.49k
        if constexpr (sizeof(CharT) == 1) {
6907
9.03k
            for (size_t i = 0; i < s.size(); ++i) {
6908
6.54k
                SCN_GCC_PUSH
6909
6.54k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6910
6.54k
                m_data[i] = s[i];
6911
6.54k
                SCN_GCC_POP
6912
6.54k
            }
6913
2.49k
            m_size = static_cast<unsigned char>(s.size());
6914
        }
6915
        else if constexpr (sizeof(CharT) == 2) {
6916
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6917
            m_data[1] =
6918
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6919
            if (s.size() == 1) {
6920
                return;
6921
            }
6922
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6923
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6924
        }
6925
        else {
6926
            const auto front = static_cast<unsigned>(s.front());
6927
            m_data[0] = static_cast<char>(front);
6928
            m_data[1] = static_cast<char>(front >> 8);
6929
            m_data[2] = static_cast<char>(front >> 16);
6930
            m_data[3] = static_cast<char>(front >> 24);
6931
        }
6932
2.49k
    }
void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6903
2.18k
    {
6904
2.18k
        SCN_EXPECT(!s.empty());
6905
2.18k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6906
        if constexpr (sizeof(CharT) == 1) {
6907
            for (size_t i = 0; i < s.size(); ++i) {
6908
                SCN_GCC_PUSH
6909
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6910
                m_data[i] = s[i];
6911
                SCN_GCC_POP
6912
            }
6913
            m_size = static_cast<unsigned char>(s.size());
6914
        }
6915
        else if constexpr (sizeof(CharT) == 2) {
6916
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6917
            m_data[1] =
6918
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6919
            if (s.size() == 1) {
6920
                return;
6921
            }
6922
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6923
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6924
        }
6925
2.18k
        else {
6926
2.18k
            const auto front = static_cast<unsigned>(s.front());
6927
2.18k
            m_data[0] = static_cast<char>(front);
6928
2.18k
            m_data[1] = static_cast<char>(front >> 8);
6929
2.18k
            m_data[2] = static_cast<char>(front >> 16);
6930
2.18k
            m_data[3] = static_cast<char>(front >> 24);
6931
2.18k
        }
6932
2.18k
    }
6933
6934
    constexpr size_t size() const
6935
4.65k
    {
6936
4.65k
        return m_size;
6937
4.65k
    }
6938
6939
    template <typename CharT>
6940
    CharT get_code_unit() const
6941
3.01k
    {
6942
3.01k
        SCN_EXPECT(m_size <= sizeof(CharT));
6943
3.01k
        CharT r{};
6944
3.01k
        std::memcpy(&r, m_data, m_size);
6945
3.01k
        return r;
6946
3.01k
    }
char scn::v4::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6941
1.16k
    {
6942
1.16k
        SCN_EXPECT(m_size <= sizeof(CharT));
6943
1.16k
        CharT r{};
6944
1.16k
        std::memcpy(&r, m_data, m_size);
6945
1.16k
        return r;
6946
1.16k
    }
wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
6941
1.85k
    {
6942
1.85k
        SCN_EXPECT(m_size <= sizeof(CharT));
6943
1.85k
        CharT r{};
6944
1.85k
        std::memcpy(&r, m_data, m_size);
6945
1.85k
        return r;
6946
1.85k
    }
6947
6948
    template <typename CharT>
6949
    std::basic_string_view<CharT> get_code_units() const
6950
1.64k
    {
6951
1.64k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6952
1.64k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6950
1.64k
    {
6951
1.64k
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6952
1.64k
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
6953
6954
private:
6955
    static constexpr size_t max_size = 4;
6956
    char m_data[max_size] = {' '};
6957
    unsigned char m_size{1};
6958
};
6959
6960
struct format_specs {
6961
    int width{0}, precision{0};
6962
    fill_type fill{};
6963
    presentation_type type{presentation_type::none};
6964
    std::array<uint8_t, 128 / 8> charset_literals{0};
6965
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6966
    const void* charset_string_data{nullptr};
6967
    size_t charset_string_size{0};
6968
    regex_flags regexp_flags{regex_flags::none};
6969
    unsigned char arbitrary_base{0};
6970
    align_type align{align_type::none};
6971
    bool localized{false};
6972
6973
    constexpr format_specs() = default;
6974
6975
    SCN_NODISCARD constexpr int get_base() const
6976
4.85k
    {
6977
4.85k
        SCN_GCC_COMPAT_PUSH
6978
4.85k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6979
4.85k
        switch (type) {
6980
2.18k
            case presentation_type::none:
6981
2.18k
                return 10;
6982
112
            case presentation_type::int_generic:
6983
112
                return 0;
6984
0
            case presentation_type::int_arbitrary_base:
6985
0
                return arbitrary_base;
6986
6987
88
            case presentation_type::int_binary:
6988
88
                return 2;
6989
86
            case presentation_type::int_octal:
6990
86
                return 8;
6991
40
            case presentation_type::int_decimal:
6992
116
            case presentation_type::int_unsigned_decimal:
6993
116
                return 10;
6994
2.26k
            case presentation_type::int_hex:
6995
2.26k
                return 16;
6996
6997
0
            default:
6998
0
                SCN_EXPECT(false);
6999
4.85k
                SCN_UNREACHABLE;
7000
4.85k
        }
7001
4.85k
        SCN_GCC_COMPAT_POP
7002
4.85k
    }
7003
7004
    template <typename CharT>
7005
    std::basic_string_view<CharT> charset_string() const
7006
3.96k
    {
7007
3.96k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7008
3.96k
                charset_string_size};
7009
3.96k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Line
Count
Source
7006
3.22k
    {
7007
3.22k
        return {reinterpret_cast<const CharT*>(charset_string_data),
7008
3.22k
                charset_string_size};
7009
3.22k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
7006
744
    {
7007
744
        return {reinterpret_cast<const CharT*>(charset_string_data),
7008
744
                charset_string_size};
7009
744
    }
7010
};
7011
7012
struct specs_setter {
7013
public:
7014
37.9k
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7015
7016
    constexpr void on_align(align_type align)
7017
7.62k
    {
7018
7.62k
        m_specs.align = align;
7019
7.62k
    }
7020
    template <typename CharT>
7021
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7022
4.67k
    {
7023
4.67k
        m_specs.fill = fill;
7024
4.67k
    }
void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7022
2.49k
    {
7023
2.49k
        m_specs.fill = fill;
7024
2.49k
    }
void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7022
2.18k
    {
7023
2.18k
        m_specs.fill = fill;
7024
2.18k
    }
7025
    template <bool Dependent = true>
7026
    constexpr void on_localized()
7027
472
    {
7028
472
        if constexpr (!SCN_DISABLE_LOCALE) {
7029
472
            m_specs.localized = true;
7030
        }
7031
        else {
7032
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7033
        }
7034
472
    }
7035
7036
    constexpr void on_width(int width)
7037
7.20k
    {
7038
7.20k
        if (m_specs.precision != 0 && width > m_specs.precision) {
7039
            // clang-format off
7040
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7041
            // clang-format on
7042
0
        }
7043
7044
7.20k
        m_specs.width = width;
7045
7.20k
    }
7046
    constexpr void on_precision(int prec)
7047
13.4k
    {
7048
13.4k
        if (m_specs.width > prec) {
7049
            // clang-format off
7050
68
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7051
            // clang-format on
7052
68
        }
7053
7054
13.4k
        m_specs.precision = prec;
7055
13.4k
    }
7056
7057
    constexpr void on_type(presentation_type type)
7058
35.7k
    {
7059
35.7k
        m_specs.type = type;
7060
35.7k
    }
7061
7062
    constexpr void on_charset_single(char32_t cp)
7063
1.16M
    {
7064
1.16M
        const auto cp_value = static_cast<unsigned>(cp);
7065
1.16M
        if (SCN_LIKELY(cp_value <= 127)) {
7066
973k
            m_specs.charset_literals[cp_value / 8] |=
7067
973k
                static_cast<unsigned char>(1ul << (cp_value % 8));
7068
973k
        }
7069
193k
        else {
7070
193k
            m_specs.charset_has_nonascii = true;
7071
193k
        }
7072
1.16M
    }
7073
7074
    constexpr void on_charset_range(char32_t begin, char32_t end)
7075
11.8k
    {
7076
11.8k
        const auto begin_value = static_cast<unsigned>(begin);
7077
11.8k
        const auto end_value = static_cast<unsigned>(end);
7078
11.8k
        SCN_EXPECT(begin_value < end_value);
7079
7080
11.8k
        if (SCN_LIKELY(end_value <= 127)) {
7081
            // No need to bit-twiddle with a mask, because with the
7082
            // SCN_ASSUME, -O3 will optimize this to a single operation
7083
6.21k
            SCN_ASSUME(begin_value < end_value);
7084
425k
            for (auto v = begin_value; v != end_value; ++v) {
7085
418k
                m_specs.charset_literals[v / 8] |=
7086
418k
                    static_cast<unsigned char>(1ul << (v % 8));
7087
418k
            }
7088
6.21k
        }
7089
5.66k
        else {
7090
5.66k
            m_specs.charset_has_nonascii = true;
7091
5.66k
        }
7092
11.8k
    }
7093
7094
    constexpr void on_charset_inverted()
7095
4.07k
    {
7096
4.07k
        m_specs.charset_is_inverted = true;
7097
4.07k
    }
7098
7099
    template <typename CharT>
7100
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7101
13.5k
    {
7102
13.5k
        m_specs.charset_string_data = fmt.data();
7103
13.5k
        m_specs.charset_string_size = fmt.size();
7104
13.5k
        on_type(presentation_type::string_set);
7105
13.5k
    }
void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7101
10.1k
    {
7102
10.1k
        m_specs.charset_string_data = fmt.data();
7103
10.1k
        m_specs.charset_string_size = fmt.size();
7104
10.1k
        on_type(presentation_type::string_set);
7105
10.1k
    }
void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7101
3.37k
    {
7102
3.37k
        m_specs.charset_string_data = fmt.data();
7103
3.37k
        m_specs.charset_string_size = fmt.size();
7104
3.37k
        on_type(presentation_type::string_set);
7105
3.37k
    }
7106
7107
    template <typename CharT>
7108
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7109
1.51k
    {
7110
1.51k
        m_specs.charset_string_data = pattern.data();
7111
1.51k
        m_specs.charset_string_size = pattern.size();
7112
1.51k
    }
void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7109
1.51k
    {
7110
1.51k
        m_specs.charset_string_data = pattern.data();
7111
1.51k
        m_specs.charset_string_size = pattern.size();
7112
1.51k
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7113
    constexpr void on_regex_flags(regex_flags flags)
7114
1.38k
    {
7115
1.38k
        m_specs.regexp_flags = flags;
7116
1.38k
    }
7117
7118
    // Intentionally not constexpr
7119
    void on_error(const char* msg)
7120
9.69k
    {
7121
9.69k
        SCN_UNLIKELY_ATTR
7122
9.69k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7123
9.69k
    }
7124
    void on_error(scan_error err)
7125
0
    {
7126
0
        SCN_UNLIKELY_ATTR
7127
0
        m_error = unexpected(err);
7128
0
    }
7129
7130
    constexpr scan_expected<void> get_error() const
7131
1.22M
    {
7132
1.22M
        return m_error;
7133
1.22M
    }
7134
7135
protected:
7136
    format_specs& m_specs;
7137
    scan_expected<void> m_error;
7138
};
7139
7140
template <typename CharT>
7141
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7142
21.4k
{
7143
21.4k
    SCN_EXPECT(begin != end);
7144
21.4k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7145
7146
21.4k
    unsigned long long value = 0;
7147
39.0k
    do {
7148
39.0k
        value *= 10;
7149
39.0k
        value += static_cast<unsigned long long>(*begin - '0');
7150
39.0k
        if (value >
7151
39.0k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7152
218
            return -1;
7153
218
        }
7154
38.8k
        ++begin;
7155
38.8k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7156
21.2k
    return static_cast<int>(value);
7157
21.4k
}
int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
7142
12.5k
{
7143
12.5k
    SCN_EXPECT(begin != end);
7144
12.5k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7145
7146
12.5k
    unsigned long long value = 0;
7147
26.0k
    do {
7148
26.0k
        value *= 10;
7149
26.0k
        value += static_cast<unsigned long long>(*begin - '0');
7150
26.0k
        if (value >
7151
26.0k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7152
116
            return -1;
7153
116
        }
7154
25.9k
        ++begin;
7155
25.9k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7156
12.3k
    return static_cast<int>(value);
7157
12.5k
}
int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
7142
8.93k
{
7143
8.93k
    SCN_EXPECT(begin != end);
7144
8.93k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7145
7146
8.93k
    unsigned long long value = 0;
7147
12.9k
    do {
7148
12.9k
        value *= 10;
7149
12.9k
        value += static_cast<unsigned long long>(*begin - '0');
7150
12.9k
        if (value >
7151
12.9k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7152
102
            return -1;
7153
102
        }
7154
12.8k
        ++begin;
7155
12.8k
    } while (begin != end && *begin >= '0' && *begin <= '9');
7156
8.83k
    return static_cast<int>(value);
7157
8.93k
}
7158
7159
template <typename CharT, typename IDHandler>
7160
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7161
                                       const CharT* end,
7162
                                       IDHandler&& handler)
7163
20.6k
{
7164
20.6k
    SCN_EXPECT(begin != end);
7165
7166
20.6k
    CharT c = *begin;
7167
20.6k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7168
18.2k
        handler.on_error("Invalid argument ID");
7169
18.2k
        return begin;
7170
18.2k
    }
7171
7172
2.36k
    int idx = 0;
7173
2.36k
    if (c != CharT{'0'}) {
7174
620
        idx = parse_simple_int(begin, end);
7175
620
    }
7176
1.74k
    else {
7177
1.74k
        ++begin;
7178
1.74k
    }
7179
7180
2.36k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7181
396
        handler.on_error("Invalid argument ID");
7182
396
        return begin;
7183
396
    }
7184
1.96k
    handler(idx);
7185
7186
1.96k
    return begin;
7187
2.36k
}
impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7163
18.8k
{
7164
18.8k
    SCN_EXPECT(begin != end);
7165
7166
18.8k
    CharT c = *begin;
7167
18.8k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7168
18.1k
        handler.on_error("Invalid argument ID");
7169
18.1k
        return begin;
7170
18.1k
    }
7171
7172
702
    int idx = 0;
7173
702
    if (c != CharT{'0'}) {
7174
306
        idx = parse_simple_int(begin, end);
7175
306
    }
7176
396
    else {
7177
396
        ++begin;
7178
396
    }
7179
7180
702
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7181
182
        handler.on_error("Invalid argument ID");
7182
182
        return begin;
7183
182
    }
7184
520
    handler(idx);
7185
7186
520
    return begin;
7187
702
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7163
1.85k
{
7164
1.85k
    SCN_EXPECT(begin != end);
7165
7166
1.85k
    CharT c = *begin;
7167
1.85k
    if (c < CharT{'0'} || c > CharT{'9'}) {
7168
194
        handler.on_error("Invalid argument ID");
7169
194
        return begin;
7170
194
    }
7171
7172
1.66k
    int idx = 0;
7173
1.66k
    if (c != CharT{'0'}) {
7174
314
        idx = parse_simple_int(begin, end);
7175
314
    }
7176
1.34k
    else {
7177
1.34k
        ++begin;
7178
1.34k
    }
7179
7180
1.66k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7181
214
        handler.on_error("Invalid argument ID");
7182
214
        return begin;
7183
214
    }
7184
1.44k
    handler(idx);
7185
7186
1.44k
    return begin;
7187
1.66k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7188
7189
template <typename CharT, typename IDHandler>
7190
constexpr const CharT* parse_arg_id(const CharT* begin,
7191
                                    const CharT* end,
7192
                                    IDHandler&& handler)
7193
57.1k
{
7194
57.1k
    SCN_EXPECT(begin != end);
7195
57.1k
    if (*begin != '}' && *begin != ':') {
7196
20.6k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7197
20.6k
    }
7198
7199
36.4k
    handler();
7200
36.4k
    return begin;
7201
57.1k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7193
42.6k
{
7194
42.6k
    SCN_EXPECT(begin != end);
7195
42.6k
    if (*begin != '}' && *begin != ':') {
7196
18.8k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7197
18.8k
    }
7198
7199
23.8k
    handler();
7200
23.8k
    return begin;
7201
42.6k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7193
14.4k
{
7194
14.4k
    SCN_EXPECT(begin != end);
7195
14.4k
    if (*begin != '}' && *begin != ':') {
7196
1.85k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7197
1.85k
    }
7198
7199
12.5k
    handler();
7200
12.5k
    return begin;
7201
14.4k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7202
7203
template <typename CharT>
7204
constexpr presentation_type parse_presentation_type(CharT type)
7205
9.98k
{
7206
9.98k
    switch (type) {
7207
374
        case 'b':
7208
478
        case 'B':
7209
478
            return presentation_type::int_binary;
7210
214
        case 'd':
7211
214
            return presentation_type::int_decimal;
7212
482
        case 'i':
7213
482
            return presentation_type::int_generic;
7214
302
        case 'u':
7215
302
            return presentation_type::int_unsigned_decimal;
7216
374
        case 'o':
7217
374
            return presentation_type::int_octal;
7218
240
        case 'x':
7219
344
        case 'X':
7220
344
            return presentation_type::int_hex;
7221
68
        case 'r':
7222
136
        case 'R':
7223
136
            return presentation_type::int_arbitrary_base;
7224
346
        case 'a':
7225
1.09k
        case 'A':
7226
1.09k
            return presentation_type::float_hex;
7227
158
        case 'e':
7228
406
        case 'E':
7229
406
            return presentation_type::float_scientific;
7230
356
        case 'f':
7231
586
        case 'F':
7232
586
            return presentation_type::float_fixed;
7233
184
        case 'g':
7234
330
        case 'G':
7235
330
            return presentation_type::float_general;
7236
3.23k
        case 's':
7237
3.23k
            return presentation_type::string;
7238
878
        case 'c':
7239
878
            return presentation_type::character;
7240
68
        case '?':
7241
68
            return presentation_type::escaped_character;
7242
202
        case 'p':
7243
202
            return presentation_type::pointer;
7244
0
        case '[':
7245
0
        case '/':
7246
            // Should be handled by parse_presentation_set and
7247
            // parse_presentation_regex
7248
0
            SCN_EXPECT(false);
7249
0
            SCN_UNREACHABLE;
7250
850
        default:
7251
850
            return presentation_type::none;
7252
9.98k
    }
7253
9.98k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7205
5.43k
{
7206
5.43k
    switch (type) {
7207
142
        case 'b':
7208
194
        case 'B':
7209
194
            return presentation_type::int_binary;
7210
108
        case 'd':
7211
108
            return presentation_type::int_decimal;
7212
196
        case 'i':
7213
196
            return presentation_type::int_generic;
7214
88
        case 'u':
7215
88
            return presentation_type::int_unsigned_decimal;
7216
178
        case 'o':
7217
178
            return presentation_type::int_octal;
7218
98
        case 'x':
7219
150
        case 'X':
7220
150
            return presentation_type::int_hex;
7221
34
        case 'r':
7222
68
        case 'R':
7223
68
            return presentation_type::int_arbitrary_base;
7224
124
        case 'a':
7225
230
        case 'A':
7226
230
            return presentation_type::float_hex;
7227
88
        case 'e':
7228
212
        case 'E':
7229
212
            return presentation_type::float_scientific;
7230
214
        case 'f':
7231
320
        case 'F':
7232
320
            return presentation_type::float_fixed;
7233
150
        case 'g':
7234
226
        case 'G':
7235
226
            return presentation_type::float_general;
7236
2.32k
        case 's':
7237
2.32k
            return presentation_type::string;
7238
574
        case 'c':
7239
574
            return presentation_type::character;
7240
34
        case '?':
7241
34
            return presentation_type::escaped_character;
7242
78
        case 'p':
7243
78
            return presentation_type::pointer;
7244
0
        case '[':
7245
0
        case '/':
7246
            // Should be handled by parse_presentation_set and
7247
            // parse_presentation_regex
7248
0
            SCN_EXPECT(false);
7249
0
            SCN_UNREACHABLE;
7250
458
        default:
7251
458
            return presentation_type::none;
7252
5.43k
    }
7253
5.43k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7205
4.55k
{
7206
4.55k
    switch (type) {
7207
232
        case 'b':
7208
284
        case 'B':
7209
284
            return presentation_type::int_binary;
7210
106
        case 'd':
7211
106
            return presentation_type::int_decimal;
7212
286
        case 'i':
7213
286
            return presentation_type::int_generic;
7214
214
        case 'u':
7215
214
            return presentation_type::int_unsigned_decimal;
7216
196
        case 'o':
7217
196
            return presentation_type::int_octal;
7218
142
        case 'x':
7219
194
        case 'X':
7220
194
            return presentation_type::int_hex;
7221
34
        case 'r':
7222
68
        case 'R':
7223
68
            return presentation_type::int_arbitrary_base;
7224
222
        case 'a':
7225
868
        case 'A':
7226
868
            return presentation_type::float_hex;
7227
70
        case 'e':
7228
194
        case 'E':
7229
194
            return presentation_type::float_scientific;
7230
142
        case 'f':
7231
266
        case 'F':
7232
266
            return presentation_type::float_fixed;
7233
34
        case 'g':
7234
104
        case 'G':
7235
104
            return presentation_type::float_general;
7236
916
        case 's':
7237
916
            return presentation_type::string;
7238
304
        case 'c':
7239
304
            return presentation_type::character;
7240
34
        case '?':
7241
34
            return presentation_type::escaped_character;
7242
124
        case 'p':
7243
124
            return presentation_type::pointer;
7244
0
        case '[':
7245
0
        case '/':
7246
            // Should be handled by parse_presentation_set and
7247
            // parse_presentation_regex
7248
0
            SCN_EXPECT(false);
7249
0
            SCN_UNREACHABLE;
7250
392
        default:
7251
392
            return presentation_type::none;
7252
4.55k
    }
7253
4.55k
}
7254
7255
template <typename CharT>
7256
constexpr bool is_ascii_letter(CharT ch)
7257
5.19k
{
7258
5.19k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7259
5.19k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7260
5.19k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7257
2.44k
{
7258
2.44k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7259
2.44k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7260
2.44k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7257
2.75k
{
7258
2.75k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7259
2.75k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7260
2.75k
}
7261
7262
template <typename CharT>
7263
constexpr int code_point_length(const CharT* begin, const CharT* end)
7264
36.5k
{
7265
36.5k
    SCN_EXPECT(begin != end);
7266
36.5k
    if constexpr (sizeof(CharT) != 1) {
7267
13.2k
        return 1;
7268
    }
7269
23.2k
    else {
7270
23.2k
        const auto lengths =
7271
23.2k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7272
23.2k
            "\3\4";
7273
23.2k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7274
23.2k
        return len;
7275
23.2k
    }
7276
36.5k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7264
23.2k
{
7265
23.2k
    SCN_EXPECT(begin != end);
7266
    if constexpr (sizeof(CharT) != 1) {
7267
        return 1;
7268
    }
7269
23.2k
    else {
7270
23.2k
        const auto lengths =
7271
23.2k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7272
23.2k
            "\3\4";
7273
23.2k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7274
23.2k
        return len;
7275
23.2k
    }
7276
23.2k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7264
13.2k
{
7265
13.2k
    SCN_EXPECT(begin != end);
7266
13.2k
    if constexpr (sizeof(CharT) != 1) {
7267
13.2k
        return 1;
7268
    }
7269
    else {
7270
        const auto lengths =
7271
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7272
            "\3\4";
7273
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7274
        return len;
7275
    }
7276
13.2k
}
7277
7278
template <typename CharT, typename Handler>
7279
constexpr const CharT* parse_align(const CharT* begin,
7280
                                   const CharT* end,
7281
                                   Handler&& handler)
7282
36.5k
{
7283
36.5k
    SCN_EXPECT(begin != end);
7284
7285
70.7k
    auto check_align = [](wchar_t ch) {
7286
70.7k
        switch (ch) {
7287
1.95k
            case L'<':
7288
1.95k
                return align_type::left;
7289
1.31k
            case L'>':
7290
1.31k
                return align_type::right;
7291
5.84k
            case L'^':
7292
5.84k
                return align_type::center;
7293
61.6k
            default:
7294
61.6k
                return align_type::none;
7295
70.7k
        }
7296
70.7k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7285
45.3k
    auto check_align = [](wchar_t ch) {
7286
45.3k
        switch (ch) {
7287
1.45k
            case L'<':
7288
1.45k
                return align_type::left;
7289
886
            case L'>':
7290
886
                return align_type::right;
7291
3.14k
            case L'^':
7292
3.14k
                return align_type::center;
7293
39.9k
            default:
7294
39.9k
                return align_type::none;
7295
45.3k
        }
7296
45.3k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7285
25.3k
    auto check_align = [](wchar_t ch) {
7286
25.3k
        switch (ch) {
7287
500
            case L'<':
7288
500
                return align_type::left;
7289
428
            case L'>':
7290
428
                return align_type::right;
7291
2.69k
            case L'^':
7292
2.69k
                return align_type::center;
7293
21.7k
            default:
7294
21.7k
                return align_type::none;
7295
25.3k
        }
7296
25.3k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
7297
7298
36.5k
    auto potential_fill_len = code_point_length(begin, end);
7299
36.5k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7300
36.5k
                     std::distance(begin, end) < potential_fill_len)) {
7301
42
        handler.on_error("Invalid encoding in fill character");
7302
42
        return begin;
7303
42
    }
7304
7305
36.4k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7306
7307
36.4k
    auto potential_fill = std::basic_string_view<CharT>{
7308
36.4k
        begin, static_cast<size_t>(potential_fill_len)};
7309
36.4k
    const auto begin_before_fill = begin;
7310
36.4k
    begin += potential_fill_len;
7311
7312
36.4k
    if (begin == end) {
7313
2.21k
        return begin_before_fill;
7314
2.21k
    }
7315
7316
34.2k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7317
34.2k
    const auto begin_after_fill = begin;
7318
34.2k
    ++begin;
7319
7320
34.2k
    if (potential_fill_len == 1) {
7321
31.9k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7322
102
            handler.on_error("Invalid fill character '{' in format string");
7323
102
            return begin;
7324
102
        }
7325
31.8k
        if (potential_fill[0] == '[') {
7326
9.48k
            return begin_before_fill;
7327
9.48k
        }
7328
31.8k
    }
7329
7330
24.6k
    if (potential_align_after_fill == align_type::none) {
7331
19.9k
        if (potential_align_on_fill != align_type::none) {
7332
2.94k
            handler.on_align(potential_align_on_fill);
7333
2.94k
            return begin_after_fill;
7334
2.94k
        }
7335
17.0k
        return begin_before_fill;
7336
19.9k
    }
7337
7338
4.67k
    handler.on_fill(potential_fill);
7339
4.67k
    handler.on_align(potential_align_after_fill);
7340
4.67k
    return begin;
7341
24.6k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7282
23.2k
{
7283
23.2k
    SCN_EXPECT(begin != end);
7284
7285
23.2k
    auto check_align = [](wchar_t ch) {
7286
23.2k
        switch (ch) {
7287
23.2k
            case L'<':
7288
23.2k
                return align_type::left;
7289
23.2k
            case L'>':
7290
23.2k
                return align_type::right;
7291
23.2k
            case L'^':
7292
23.2k
                return align_type::center;
7293
23.2k
            default:
7294
23.2k
                return align_type::none;
7295
23.2k
        }
7296
23.2k
    };
7297
7298
23.2k
    auto potential_fill_len = code_point_length(begin, end);
7299
23.2k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7300
23.2k
                     std::distance(begin, end) < potential_fill_len)) {
7301
42
        handler.on_error("Invalid encoding in fill character");
7302
42
        return begin;
7303
42
    }
7304
7305
23.2k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7306
7307
23.2k
    auto potential_fill = std::basic_string_view<CharT>{
7308
23.2k
        begin, static_cast<size_t>(potential_fill_len)};
7309
23.2k
    const auto begin_before_fill = begin;
7310
23.2k
    begin += potential_fill_len;
7311
7312
23.2k
    if (begin == end) {
7313
1.03k
        return begin_before_fill;
7314
1.03k
    }
7315
7316
22.1k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7317
22.1k
    const auto begin_after_fill = begin;
7318
22.1k
    ++begin;
7319
7320
22.1k
    if (potential_fill_len == 1) {
7321
19.8k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7322
60
            handler.on_error("Invalid fill character '{' in format string");
7323
60
            return begin;
7324
60
        }
7325
19.8k
        if (potential_fill[0] == '[') {
7326
7.87k
            return begin_before_fill;
7327
7.87k
        }
7328
19.8k
    }
7329
7330
14.2k
    if (potential_align_after_fill == align_type::none) {
7331
11.7k
        if (potential_align_on_fill != align_type::none) {
7332
2.00k
            handler.on_align(potential_align_on_fill);
7333
2.00k
            return begin_after_fill;
7334
2.00k
        }
7335
9.75k
        return begin_before_fill;
7336
11.7k
    }
7337
7338
2.49k
    handler.on_fill(potential_fill);
7339
2.49k
    handler.on_align(potential_align_after_fill);
7340
2.49k
    return begin;
7341
14.2k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7282
13.2k
{
7283
13.2k
    SCN_EXPECT(begin != end);
7284
7285
13.2k
    auto check_align = [](wchar_t ch) {
7286
13.2k
        switch (ch) {
7287
13.2k
            case L'<':
7288
13.2k
                return align_type::left;
7289
13.2k
            case L'>':
7290
13.2k
                return align_type::right;
7291
13.2k
            case L'^':
7292
13.2k
                return align_type::center;
7293
13.2k
            default:
7294
13.2k
                return align_type::none;
7295
13.2k
        }
7296
13.2k
    };
7297
7298
13.2k
    auto potential_fill_len = code_point_length(begin, end);
7299
13.2k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7300
13.2k
                     std::distance(begin, end) < potential_fill_len)) {
7301
0
        handler.on_error("Invalid encoding in fill character");
7302
0
        return begin;
7303
0
    }
7304
7305
13.2k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7306
7307
13.2k
    auto potential_fill = std::basic_string_view<CharT>{
7308
13.2k
        begin, static_cast<size_t>(potential_fill_len)};
7309
13.2k
    const auto begin_before_fill = begin;
7310
13.2k
    begin += potential_fill_len;
7311
7312
13.2k
    if (begin == end) {
7313
1.17k
        return begin_before_fill;
7314
1.17k
    }
7315
7316
12.0k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7317
12.0k
    const auto begin_after_fill = begin;
7318
12.0k
    ++begin;
7319
7320
12.0k
    if (potential_fill_len == 1) {
7321
12.0k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7322
42
            handler.on_error("Invalid fill character '{' in format string");
7323
42
            return begin;
7324
42
        }
7325
12.0k
        if (potential_fill[0] == '[') {
7326
1.61k
            return begin_before_fill;
7327
1.61k
        }
7328
12.0k
    }
7329
7330
10.4k
    if (potential_align_after_fill == align_type::none) {
7331
8.24k
        if (potential_align_on_fill != align_type::none) {
7332
938
            handler.on_align(potential_align_on_fill);
7333
938
            return begin_after_fill;
7334
938
        }
7335
7.30k
        return begin_before_fill;
7336
8.24k
    }
7337
7338
2.18k
    handler.on_fill(potential_fill);
7339
2.18k
    handler.on_align(potential_align_after_fill);
7340
2.18k
    return begin;
7341
10.4k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7342
7343
template <typename CharT, typename Handler>
7344
constexpr const CharT* parse_width(const CharT* begin,
7345
                                   const CharT* end,
7346
                                   Handler&& handler)
7347
36.2k
{
7348
36.2k
    SCN_EXPECT(begin != end);
7349
7350
36.2k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7351
7.27k
        int width = parse_simple_int(begin, end);
7352
7.27k
        if (SCN_LIKELY(width != -1)) {
7353
7.20k
            handler.on_width(width);
7354
7.20k
        }
7355
68
        else {
7356
68
            handler.on_error("Invalid field width");
7357
68
            return begin;
7358
68
        }
7359
7.27k
    }
7360
36.2k
    return begin;
7361
36.2k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7347
23.1k
{
7348
23.1k
    SCN_EXPECT(begin != end);
7349
7350
23.1k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7351
3.66k
        int width = parse_simple_int(begin, end);
7352
3.66k
        if (SCN_LIKELY(width != -1)) {
7353
3.62k
            handler.on_width(width);
7354
3.62k
        }
7355
34
        else {
7356
34
            handler.on_error("Invalid field width");
7357
34
            return begin;
7358
34
        }
7359
3.66k
    }
7360
23.1k
    return begin;
7361
23.1k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7347
13.1k
{
7348
13.1k
    SCN_EXPECT(begin != end);
7349
7350
13.1k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7351
3.61k
        int width = parse_simple_int(begin, end);
7352
3.61k
        if (SCN_LIKELY(width != -1)) {
7353
3.57k
            handler.on_width(width);
7354
3.57k
        }
7355
34
        else {
7356
34
            handler.on_error("Invalid field width");
7357
34
            return begin;
7358
34
        }
7359
3.61k
    }
7360
13.1k
    return begin;
7361
13.1k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7362
7363
template <typename CharT, typename Handler>
7364
constexpr const CharT* parse_precision(const CharT* begin,
7365
                                       const CharT* end,
7366
                                       Handler&& handler)
7367
13.7k
{
7368
13.7k
    SCN_EXPECT(begin != end);
7369
7370
13.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7371
13.5k
        int prec = parse_simple_int(begin, end);
7372
13.5k
        if (SCN_LIKELY(prec != -1)) {
7373
13.4k
            handler.on_precision(prec);
7374
13.4k
        }
7375
82
        else {
7376
82
            handler.on_error("Invalid field precision");
7377
82
            return begin;
7378
82
        }
7379
13.5k
    }
7380
13.6k
    return begin;
7381
13.7k
}
impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7367
8.63k
{
7368
8.63k
    SCN_EXPECT(begin != end);
7369
7370
8.63k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7371
8.54k
        int prec = parse_simple_int(begin, end);
7372
8.54k
        if (SCN_LIKELY(prec != -1)) {
7373
8.49k
            handler.on_precision(prec);
7374
8.49k
        }
7375
48
        else {
7376
48
            handler.on_error("Invalid field precision");
7377
48
            return begin;
7378
48
        }
7379
8.54k
    }
7380
8.58k
    return begin;
7381
8.63k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7367
5.11k
{
7368
5.11k
    SCN_EXPECT(begin != end);
7369
7370
5.11k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7371
5.01k
        int prec = parse_simple_int(begin, end);
7372
5.01k
        if (SCN_LIKELY(prec != -1)) {
7373
4.97k
            handler.on_precision(prec);
7374
4.97k
        }
7375
34
        else {
7376
34
            handler.on_error("Invalid field precision");
7377
34
            return begin;
7378
34
        }
7379
5.01k
    }
7380
5.08k
    return begin;
7381
5.11k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7382
7383
template <typename CharT, typename SpecHandler>
7384
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7385
                                                     const CharT* end,
7386
                                                     SpecHandler&& handler)
7387
1.58M
{
7388
1.58M
    SCN_EXPECT(begin != end);
7389
7390
1.58M
    auto len = code_point_length_by_starting_code_unit(*begin);
7391
1.58M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7392
96
        handler.on_error("Invalid encoding in format string");
7393
96
        return invalid_code_point;
7394
96
    }
7395
7396
1.58M
    const auto cp =
7397
1.58M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7398
1.58M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7399
222
        handler.on_error("Invalid encoding in format string");
7400
222
        return invalid_code_point;
7401
222
    }
7402
7403
1.58M
    begin += len;
7404
1.58M
    return cp;
7405
1.58M
}
char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7387
385k
{
7388
385k
    SCN_EXPECT(begin != end);
7389
7390
385k
    auto len = code_point_length_by_starting_code_unit(*begin);
7391
385k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7392
0
        handler.on_error("Invalid encoding in format string");
7393
0
        return invalid_code_point;
7394
0
    }
7395
7396
385k
    const auto cp =
7397
385k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7398
385k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7399
0
        handler.on_error("Invalid encoding in format string");
7400
0
        return invalid_code_point;
7401
0
    }
7402
7403
385k
    begin += len;
7404
385k
    return cp;
7405
385k
}
char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7387
7.21k
{
7388
7.21k
    SCN_EXPECT(begin != end);
7389
7390
7.21k
    auto len = code_point_length_by_starting_code_unit(*begin);
7391
7.21k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7392
0
        handler.on_error("Invalid encoding in format string");
7393
0
        return invalid_code_point;
7394
0
    }
7395
7396
7.21k
    const auto cp =
7397
7.21k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7398
7.21k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7399
0
        handler.on_error("Invalid encoding in format string");
7400
0
        return invalid_code_point;
7401
0
    }
7402
7403
7.21k
    begin += len;
7404
7.21k
    return cp;
7405
7.21k
}
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7387
1.16M
{
7388
1.16M
    SCN_EXPECT(begin != end);
7389
7390
1.16M
    auto len = code_point_length_by_starting_code_unit(*begin);
7391
1.16M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7392
96
        handler.on_error("Invalid encoding in format string");
7393
96
        return invalid_code_point;
7394
96
    }
7395
7396
1.16M
    const auto cp =
7397
1.16M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7398
1.16M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7399
68
        handler.on_error("Invalid encoding in format string");
7400
68
        return invalid_code_point;
7401
68
    }
7402
7403
1.16M
    begin += len;
7404
1.16M
    return cp;
7405
1.16M
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7387
27.5k
{
7388
27.5k
    SCN_EXPECT(begin != end);
7389
7390
27.5k
    auto len = code_point_length_by_starting_code_unit(*begin);
7391
27.5k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7392
0
        handler.on_error("Invalid encoding in format string");
7393
0
        return invalid_code_point;
7394
0
    }
7395
7396
27.5k
    const auto cp =
7397
27.5k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7398
27.5k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7399
154
        handler.on_error("Invalid encoding in format string");
7400
154
        return invalid_code_point;
7401
154
    }
7402
7403
27.3k
    begin += len;
7404
27.3k
    return cp;
7405
27.5k
}
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7406
7407
template <typename CharT, typename SpecHandler>
7408
constexpr void parse_presentation_set_literal(const CharT*& begin,
7409
                                              const CharT* end,
7410
                                              SpecHandler&& handler)
7411
1.56M
{
7412
1.56M
    SCN_EXPECT(begin != end);
7413
7414
1.56M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7415
1.56M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7416
214
        return;
7417
214
    }
7418
7419
1.56M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7420
1.56M
        *(begin + 1) != CharT{']'}) {
7421
15.4k
        ++begin;
7422
7423
15.4k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7424
15.4k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7425
104
            return;
7426
104
        }
7427
7428
15.3k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7429
            // clang-format off
7430
68
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7431
            // clang-format on
7432
68
            return;
7433
68
        }
7434
7435
15.2k
        handler.on_charset_range(cp_first, cp_second + 1);
7436
15.2k
        return;
7437
15.3k
    }
7438
7439
1.55M
    handler.on_charset_single(cp_first);
7440
1.55M
}
void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7411
382k
{
7412
382k
    SCN_EXPECT(begin != end);
7413
7414
382k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7415
382k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7416
0
        return;
7417
0
    }
7418
7419
382k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7420
382k
        *(begin + 1) != CharT{']'}) {
7421
2.78k
        ++begin;
7422
7423
2.78k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7424
2.78k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7425
0
            return;
7426
0
        }
7427
7428
2.78k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7429
            // clang-format off
7430
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7431
            // clang-format on
7432
0
            return;
7433
0
        }
7434
7435
2.78k
        handler.on_charset_range(cp_first, cp_second + 1);
7436
2.78k
        return;
7437
2.78k
    }
7438
7439
380k
    handler.on_charset_single(cp_first);
7440
380k
}
void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7411
6.64k
{
7412
6.64k
    SCN_EXPECT(begin != end);
7413
7414
6.64k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7415
6.64k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7416
0
        return;
7417
0
    }
7418
7419
6.64k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7420
6.64k
        *(begin + 1) != CharT{']'}) {
7421
570
        ++begin;
7422
7423
570
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7424
570
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7425
0
            return;
7426
0
        }
7427
7428
570
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7429
            // clang-format off
7430
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7431
            // clang-format on
7432
0
            return;
7433
0
        }
7434
7435
570
        handler.on_charset_range(cp_first, cp_second + 1);
7436
570
        return;
7437
570
    }
7438
7439
6.07k
    handler.on_charset_single(cp_first);
7440
6.07k
}
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7411
1.15M
{
7412
1.15M
    SCN_EXPECT(begin != end);
7413
7414
1.15M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7415
1.15M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7416
94
        return;
7417
94
    }
7418
7419
1.15M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7420
1.15M
        *(begin + 1) != CharT{']'}) {
7421
9.61k
        ++begin;
7422
7423
9.61k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7424
9.61k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7425
70
            return;
7426
70
        }
7427
7428
9.54k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7429
            // clang-format off
7430
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7431
            // clang-format on
7432
34
            return;
7433
34
        }
7434
7435
9.50k
        handler.on_charset_range(cp_first, cp_second + 1);
7436
9.50k
        return;
7437
9.54k
    }
7438
7439
1.14M
    handler.on_charset_single(cp_first);
7440
1.14M
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7411
25.0k
{
7412
25.0k
    SCN_EXPECT(begin != end);
7413
7414
25.0k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7415
25.0k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7416
120
        return;
7417
120
    }
7418
7419
24.9k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7420
24.9k
        *(begin + 1) != CharT{']'}) {
7421
2.44k
        ++begin;
7422
7423
2.44k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7424
2.44k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7425
34
            return;
7426
34
        }
7427
7428
2.40k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7429
            // clang-format off
7430
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7431
            // clang-format on
7432
34
            return;
7433
34
        }
7434
7435
2.37k
        handler.on_charset_range(cp_first, cp_second + 1);
7436
2.37k
        return;
7437
2.40k
    }
7438
7439
22.5k
    handler.on_charset_single(cp_first);
7440
22.5k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7441
7442
template <typename CharT, typename SpecHandler>
7443
constexpr std::basic_string_view<CharT> parse_presentation_set(
7444
    const CharT*& begin,
7445
    const CharT* end,
7446
    SpecHandler&& handler)
7447
18.4k
{
7448
18.4k
    SCN_EXPECT(begin != end);
7449
18.4k
    SCN_EXPECT(*begin == CharT{'['});
7450
7451
18.4k
    auto start = begin;
7452
18.4k
    ++begin;
7453
7454
18.4k
    if (SCN_UNLIKELY(begin == end)) {
7455
        // clang-format off
7456
76
        handler.on_error("Unexpected end of [character set] specifier in format string");
7457
        // clang-format on
7458
76
        return {};
7459
76
    }
7460
18.4k
    if (*begin == CharT{'^'}) {
7461
4.92k
        handler.on_charset_inverted();
7462
4.92k
        ++begin;
7463
4.92k
        if (SCN_UNLIKELY(begin == end)) {
7464
            // clang-format off
7465
68
            handler.on_error("Unexpected end of [character set] specifier in format string");
7466
            // clang-format on
7467
68
            return {};
7468
68
        }
7469
4.85k
        if (*begin == CharT{']'}) {
7470
116
            handler.on_charset_single(char32_t{']'});
7471
116
            ++begin;
7472
116
        }
7473
4.85k
    }
7474
13.4k
    else if (*begin == CharT{']'}) {
7475
76
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7476
76
    }
7477
7478
1.58M
    while (begin != end) {
7479
1.58M
        if (SCN_UNLIKELY(!handler.get_error())) {
7480
372
            break;
7481
372
        }
7482
7483
1.58M
        if (*begin == CharT{']'}) {
7484
17.0k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7485
17.0k
        }
7486
7487
1.56M
        parse_presentation_set_literal(begin, end, handler);
7488
1.56M
    }
7489
7490
1.18k
    SCN_UNLIKELY_ATTR
7491
1.18k
    handler.on_error("Invalid [character set] specifier in format string");
7492
1.18k
    return {};
7493
18.2k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7447
2.78k
{
7448
2.78k
    SCN_EXPECT(begin != end);
7449
2.78k
    SCN_EXPECT(*begin == CharT{'['});
7450
7451
2.78k
    auto start = begin;
7452
2.78k
    ++begin;
7453
7454
2.78k
    if (SCN_UNLIKELY(begin == end)) {
7455
        // clang-format off
7456
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7457
        // clang-format on
7458
0
        return {};
7459
0
    }
7460
2.78k
    if (*begin == CharT{'^'}) {
7461
438
        handler.on_charset_inverted();
7462
438
        ++begin;
7463
438
        if (SCN_UNLIKELY(begin == end)) {
7464
            // clang-format off
7465
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7466
            // clang-format on
7467
0
            return {};
7468
0
        }
7469
438
        if (*begin == CharT{']'}) {
7470
6
            handler.on_charset_single(char32_t{']'});
7471
6
            ++begin;
7472
6
        }
7473
438
    }
7474
2.34k
    else if (*begin == CharT{']'}) {
7475
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7476
0
    }
7477
7478
385k
    while (begin != end) {
7479
385k
        if (SCN_UNLIKELY(!handler.get_error())) {
7480
0
            break;
7481
0
        }
7482
7483
385k
        if (*begin == CharT{']'}) {
7484
2.78k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7485
2.78k
        }
7486
7487
382k
        parse_presentation_set_literal(begin, end, handler);
7488
382k
    }
7489
7490
0
    SCN_UNLIKELY_ATTR
7491
0
    handler.on_error("Invalid [character set] specifier in format string");
7492
0
    return {};
7493
2.78k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Line
Count
Source
7447
744
{
7448
744
    SCN_EXPECT(begin != end);
7449
744
    SCN_EXPECT(*begin == CharT{'['});
7450
7451
744
    auto start = begin;
7452
744
    ++begin;
7453
7454
744
    if (SCN_UNLIKELY(begin == end)) {
7455
        // clang-format off
7456
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7457
        // clang-format on
7458
0
        return {};
7459
0
    }
7460
744
    if (*begin == CharT{'^'}) {
7461
414
        handler.on_charset_inverted();
7462
414
        ++begin;
7463
414
        if (SCN_UNLIKELY(begin == end)) {
7464
            // clang-format off
7465
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7466
            // clang-format on
7467
0
            return {};
7468
0
        }
7469
414
        if (*begin == CharT{']'}) {
7470
6
            handler.on_charset_single(char32_t{']'});
7471
6
            ++begin;
7472
6
        }
7473
414
    }
7474
330
    else if (*begin == CharT{']'}) {
7475
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7476
0
    }
7477
7478
7.38k
    while (begin != end) {
7479
7.38k
        if (SCN_UNLIKELY(!handler.get_error())) {
7480
0
            break;
7481
0
        }
7482
7483
7.38k
        if (*begin == CharT{']'}) {
7484
744
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7485
744
        }
7486
7487
6.64k
        parse_presentation_set_literal(begin, end, handler);
7488
6.64k
    }
7489
7490
0
    SCN_UNLIKELY_ATTR
7491
0
    handler.on_error("Invalid [character set] specifier in format string");
7492
0
    return {};
7493
744
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7447
10.9k
{
7448
10.9k
    SCN_EXPECT(begin != end);
7449
10.9k
    SCN_EXPECT(*begin == CharT{'['});
7450
7451
10.9k
    auto start = begin;
7452
10.9k
    ++begin;
7453
7454
10.9k
    if (SCN_UNLIKELY(begin == end)) {
7455
        // clang-format off
7456
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
7457
        // clang-format on
7458
42
        return {};
7459
42
    }
7460
10.9k
    if (*begin == CharT{'^'}) {
7461
2.20k
        handler.on_charset_inverted();
7462
2.20k
        ++begin;
7463
2.20k
        if (SCN_UNLIKELY(begin == end)) {
7464
            // clang-format off
7465
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7466
            // clang-format on
7467
34
            return {};
7468
34
        }
7469
2.17k
        if (*begin == CharT{']'}) {
7470
52
            handler.on_charset_single(char32_t{']'});
7471
52
            ++begin;
7472
52
        }
7473
2.17k
    }
7474
8.74k
    else if (*begin == CharT{']'}) {
7475
42
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7476
42
    }
7477
7478
1.16M
    while (begin != end) {
7479
1.16M
        if (SCN_UNLIKELY(!handler.get_error())) {
7480
216
            break;
7481
216
        }
7482
7483
1.16M
        if (*begin == CharT{']'}) {
7484
10.1k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7485
10.1k
        }
7486
7487
1.15M
        parse_presentation_set_literal(begin, end, handler);
7488
1.15M
    }
7489
7490
700
    SCN_UNLIKELY_ATTR
7491
700
    handler.on_error("Invalid [character set] specifier in format string");
7492
700
    return {};
7493
10.8k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7447
3.95k
{
7448
3.95k
    SCN_EXPECT(begin != end);
7449
3.95k
    SCN_EXPECT(*begin == CharT{'['});
7450
7451
3.95k
    auto start = begin;
7452
3.95k
    ++begin;
7453
7454
3.95k
    if (SCN_UNLIKELY(begin == end)) {
7455
        // clang-format off
7456
34
        handler.on_error("Unexpected end of [character set] specifier in format string");
7457
        // clang-format on
7458
34
        return {};
7459
34
    }
7460
3.92k
    if (*begin == CharT{'^'}) {
7461
1.86k
        handler.on_charset_inverted();
7462
1.86k
        ++begin;
7463
1.86k
        if (SCN_UNLIKELY(begin == end)) {
7464
            // clang-format off
7465
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
7466
            // clang-format on
7467
34
            return {};
7468
34
        }
7469
1.83k
        if (*begin == CharT{']'}) {
7470
52
            handler.on_charset_single(char32_t{']'});
7471
52
            ++begin;
7472
52
        }
7473
1.83k
    }
7474
2.05k
    else if (*begin == CharT{']'}) {
7475
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7476
34
    }
7477
7478
28.9k
    while (begin != end) {
7479
28.5k
        if (SCN_UNLIKELY(!handler.get_error())) {
7480
156
            break;
7481
156
        }
7482
7483
28.4k
        if (*begin == CharT{']'}) {
7484
3.37k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7485
3.37k
        }
7486
7487
25.0k
        parse_presentation_set_literal(begin, end, handler);
7488
25.0k
    }
7489
7490
482
    SCN_UNLIKELY_ATTR
7491
482
    handler.on_error("Invalid [character set] specifier in format string");
7492
482
    return {};
7493
3.85k
}
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7494
7495
template <typename CharT, typename SpecHandler>
7496
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7497
                                                const CharT* end,
7498
                                                SpecHandler&& handler)
7499
1.78k
{
7500
1.78k
#if !SCN_DISABLE_REGEX
7501
1.78k
    SCN_EXPECT(begin != end);
7502
1.78k
    SCN_EXPECT(*begin == CharT{'/'});
7503
7504
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7505
42
                  std::is_same_v<CharT, wchar_t>) {
7506
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7507
42
        return begin;
7508
42
    }
7509
7510
0
    auto start = begin;
7511
1.78k
    ++begin;
7512
7513
1.78k
    if (SCN_UNLIKELY(begin == end)) {
7514
34
        handler.on_error("Unexpected end of regex in format string");
7515
34
        return begin;
7516
34
    }
7517
7518
1.75k
    handler.on_type(presentation_type::regex);
7519
104k
    for (; begin != end; ++begin) {
7520
104k
        if (*begin == CharT{'/'}) {
7521
12.8k
            if (*(begin - 1) != CharT{'\\'}) {
7522
1.54k
                break;
7523
1.54k
            }
7524
11.3k
            else {
7525
11.3k
                handler.on_type(presentation_type::regex_escaped);
7526
11.3k
            }
7527
12.8k
        }
7528
104k
    }
7529
1.75k
    if (SCN_UNLIKELY(begin == end)) {
7530
166
        handler.on_error("Unexpected end of regex in format string");
7531
166
        return begin;
7532
166
    }
7533
7534
1.58k
    auto regex_end = begin;
7535
1.58k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7536
1.58k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7537
34
        handler.on_error("Invalid (empty) regex in format string");
7538
34
        return begin;
7539
34
    }
7540
1.55k
    handler.on_regex_pattern(regex_pattern);
7541
1.55k
    ++begin;
7542
7543
1.55k
    if (SCN_UNLIKELY(begin == end)) {
7544
34
        handler.on_error("Unexpected end of regex in format string");
7545
34
        return begin;
7546
34
    }
7547
7548
1.51k
    regex_flags flags{regex_flags::none};
7549
1.51k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7550
1.51k
        {{'m', regex_flags::multiline},
7551
1.51k
         {'s', regex_flags::singleline},
7552
1.51k
         {'i', regex_flags::nocase},
7553
1.51k
         {'n', regex_flags::nocapture}}};
7554
1.74k
    for (; begin != end; ++begin) {
7555
1.65k
        if (*begin == CharT{'}'}) {
7556
1.34k
            break;
7557
1.34k
        }
7558
310
        bool found_flag = false;
7559
874
        for (auto flag : flag_map) {
7560
874
            if (static_cast<CharT>(flag.first) != *begin) {
7561
618
                continue;
7562
618
            }
7563
256
            if ((flags & flag.second) != regex_flags::none) {
7564
34
                handler.on_error("Flag set multiple times in regex");
7565
34
                return begin;
7566
34
            }
7567
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7568
            if (*begin == CharT{'s'}) {
7569
                // clang-format off
7570
                handler.on_error("/s flag for regex isn't supported by regex backend");
7571
                // clang-format on
7572
            }
7573
#if !SCN_HAS_STD_REGEX_MULTILINE
7574
            if (*begin == CharT{'m'}) {
7575
                // clang-format off
7576
                handler.on_error("/m flag for regex isn't supported by regex backend");
7577
                // clang-format on
7578
            }
7579
#endif
7580
#endif
7581
222
            flags |= flag.second;
7582
222
            found_flag = true;
7583
222
            break;
7584
256
        }
7585
276
        if (!found_flag) {
7586
54
            handler.on_error("Invalid flag in regex");
7587
54
            return begin;
7588
54
        }
7589
276
    }
7590
1.43k
    handler.on_regex_flags(flags);
7591
7592
1.43k
    if (SCN_UNLIKELY(begin == end)) {
7593
42
        handler.on_error("Unexpected end of regex in format string");
7594
42
        return begin;
7595
42
    }
7596
7597
1.38k
    return begin;
7598
#else
7599
    handler.on_error("Regular expression support is disabled");
7600
    return {};
7601
#endif
7602
1.43k
}
impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7499
1.74k
{
7500
1.74k
#if !SCN_DISABLE_REGEX
7501
1.74k
    SCN_EXPECT(begin != end);
7502
1.74k
    SCN_EXPECT(*begin == CharT{'/'});
7503
7504
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7505
                  std::is_same_v<CharT, wchar_t>) {
7506
        handler.on_error("Regex backend doesn't support wide strings as input");
7507
        return begin;
7508
    }
7509
7510
1.74k
    auto start = begin;
7511
1.74k
    ++begin;
7512
7513
1.74k
    if (SCN_UNLIKELY(begin == end)) {
7514
34
        handler.on_error("Unexpected end of regex in format string");
7515
34
        return begin;
7516
34
    }
7517
7518
1.71k
    handler.on_type(presentation_type::regex);
7519
104k
    for (; begin != end; ++begin) {
7520
104k
        if (*begin == CharT{'/'}) {
7521
12.8k
            if (*(begin - 1) != CharT{'\\'}) {
7522
1.54k
                break;
7523
1.54k
            }
7524
11.3k
            else {
7525
11.3k
                handler.on_type(presentation_type::regex_escaped);
7526
11.3k
            }
7527
12.8k
        }
7528
104k
    }
7529
1.71k
    if (SCN_UNLIKELY(begin == end)) {
7530
166
        handler.on_error("Unexpected end of regex in format string");
7531
166
        return begin;
7532
166
    }
7533
7534
1.54k
    auto regex_end = begin;
7535
1.54k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7536
1.54k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7537
34
        handler.on_error("Invalid (empty) regex in format string");
7538
34
        return begin;
7539
34
    }
7540
1.51k
    handler.on_regex_pattern(regex_pattern);
7541
1.51k
    ++begin;
7542
7543
1.51k
    if (SCN_UNLIKELY(begin == end)) {
7544
34
        handler.on_error("Unexpected end of regex in format string");
7545
34
        return begin;
7546
34
    }
7547
7548
1.47k
    regex_flags flags{regex_flags::none};
7549
1.47k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7550
1.47k
        {{'m', regex_flags::multiline},
7551
1.47k
         {'s', regex_flags::singleline},
7552
1.47k
         {'i', regex_flags::nocase},
7553
1.47k
         {'n', regex_flags::nocapture}}};
7554
1.69k
    for (; begin != end; ++begin) {
7555
1.65k
        if (*begin == CharT{'}'}) {
7556
1.34k
            break;
7557
1.34k
        }
7558
310
        bool found_flag = false;
7559
874
        for (auto flag : flag_map) {
7560
874
            if (static_cast<CharT>(flag.first) != *begin) {
7561
618
                continue;
7562
618
            }
7563
256
            if ((flags & flag.second) != regex_flags::none) {
7564
34
                handler.on_error("Flag set multiple times in regex");
7565
34
                return begin;
7566
34
            }
7567
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7568
            if (*begin == CharT{'s'}) {
7569
                // clang-format off
7570
                handler.on_error("/s flag for regex isn't supported by regex backend");
7571
                // clang-format on
7572
            }
7573
#if !SCN_HAS_STD_REGEX_MULTILINE
7574
            if (*begin == CharT{'m'}) {
7575
                // clang-format off
7576
                handler.on_error("/m flag for regex isn't supported by regex backend");
7577
                // clang-format on
7578
            }
7579
#endif
7580
#endif
7581
222
            flags |= flag.second;
7582
222
            found_flag = true;
7583
222
            break;
7584
256
        }
7585
276
        if (!found_flag) {
7586
54
            handler.on_error("Invalid flag in regex");
7587
54
            return begin;
7588
54
        }
7589
276
    }
7590
1.38k
    handler.on_regex_flags(flags);
7591
7592
1.38k
    if (SCN_UNLIKELY(begin == end)) {
7593
42
        handler.on_error("Unexpected end of regex in format string");
7594
42
        return begin;
7595
42
    }
7596
7597
1.34k
    return begin;
7598
#else
7599
    handler.on_error("Regular expression support is disabled");
7600
    return {};
7601
#endif
7602
1.38k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7499
42
{
7500
42
#if !SCN_DISABLE_REGEX
7501
42
    SCN_EXPECT(begin != end);
7502
42
    SCN_EXPECT(*begin == CharT{'/'});
7503
7504
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7505
42
                  std::is_same_v<CharT, wchar_t>) {
7506
42
        handler.on_error("Regex backend doesn't support wide strings as input");
7507
42
        return begin;
7508
42
    }
7509
7510
0
    auto start = begin;
7511
42
    ++begin;
7512
7513
42
    if (SCN_UNLIKELY(begin == end)) {
7514
0
        handler.on_error("Unexpected end of regex in format string");
7515
0
        return begin;
7516
0
    }
7517
7518
42
    handler.on_type(presentation_type::regex);
7519
42
    for (; begin != end; ++begin) {
7520
0
        if (*begin == CharT{'/'}) {
7521
0
            if (*(begin - 1) != CharT{'\\'}) {
7522
0
                break;
7523
0
            }
7524
0
            else {
7525
0
                handler.on_type(presentation_type::regex_escaped);
7526
0
            }
7527
0
        }
7528
0
    }
7529
42
    if (SCN_UNLIKELY(begin == end)) {
7530
0
        handler.on_error("Unexpected end of regex in format string");
7531
0
        return begin;
7532
0
    }
7533
7534
42
    auto regex_end = begin;
7535
42
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7536
42
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7537
0
        handler.on_error("Invalid (empty) regex in format string");
7538
0
        return begin;
7539
0
    }
7540
42
    handler.on_regex_pattern(regex_pattern);
7541
42
    ++begin;
7542
7543
42
    if (SCN_UNLIKELY(begin == end)) {
7544
0
        handler.on_error("Unexpected end of regex in format string");
7545
0
        return begin;
7546
0
    }
7547
7548
42
    regex_flags flags{regex_flags::none};
7549
42
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7550
42
        {{'m', regex_flags::multiline},
7551
42
         {'s', regex_flags::singleline},
7552
42
         {'i', regex_flags::nocase},
7553
42
         {'n', regex_flags::nocapture}}};
7554
42
    for (; begin != end; ++begin) {
7555
0
        if (*begin == CharT{'}'}) {
7556
0
            break;
7557
0
        }
7558
0
        bool found_flag = false;
7559
0
        for (auto flag : flag_map) {
7560
0
            if (static_cast<CharT>(flag.first) != *begin) {
7561
0
                continue;
7562
0
            }
7563
0
            if ((flags & flag.second) != regex_flags::none) {
7564
0
                handler.on_error("Flag set multiple times in regex");
7565
0
                return begin;
7566
0
            }
7567
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7568
            if (*begin == CharT{'s'}) {
7569
                // clang-format off
7570
                handler.on_error("/s flag for regex isn't supported by regex backend");
7571
                // clang-format on
7572
            }
7573
#if !SCN_HAS_STD_REGEX_MULTILINE
7574
            if (*begin == CharT{'m'}) {
7575
                // clang-format off
7576
                handler.on_error("/m flag for regex isn't supported by regex backend");
7577
                // clang-format on
7578
            }
7579
#endif
7580
#endif
7581
0
            flags |= flag.second;
7582
0
            found_flag = true;
7583
0
            break;
7584
0
        }
7585
0
        if (!found_flag) {
7586
0
            handler.on_error("Invalid flag in regex");
7587
0
            return begin;
7588
0
        }
7589
0
    }
7590
42
    handler.on_regex_flags(flags);
7591
7592
42
    if (SCN_UNLIKELY(begin == end)) {
7593
0
        handler.on_error("Unexpected end of regex in format string");
7594
0
        return begin;
7595
0
    }
7596
7597
42
    return begin;
7598
#else
7599
    handler.on_error("Regular expression support is disabled");
7600
    return {};
7601
#endif
7602
42
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7603
7604
template <typename CharT, typename SpecHandler>
7605
constexpr const CharT* parse_format_specs(const CharT* begin,
7606
                                          const CharT* end,
7607
                                          SpecHandler&& handler)
7608
37.9k
{
7609
37.9k
    auto do_presentation = [&]() -> const CharT* {
7610
26.7k
        if (*begin == CharT{'['}) {
7611
14.9k
            auto set = parse_presentation_set(begin, end, handler);
7612
14.9k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7613
                // clang-format off
7614
1.40k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7615
                // clang-format on
7616
1.40k
                return begin;
7617
1.40k
            }
7618
13.5k
            handler.on_character_set_string(set);
7619
13.5k
            return begin;
7620
14.9k
        }
7621
11.7k
        if (*begin == CharT{'/'}) {
7622
1.78k
            return parse_presentation_regex(begin, end, handler);
7623
1.78k
        }
7624
9.98k
        presentation_type type = parse_presentation_type(*begin++);
7625
9.98k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7626
850
            handler.on_error("Invalid type specifier in format string");
7627
850
            return begin;
7628
850
        }
7629
9.13k
        handler.on_type(type);
7630
9.13k
        return begin;
7631
9.98k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7609
18.1k
    auto do_presentation = [&]() -> const CharT* {
7610
18.1k
        if (*begin == CharT{'['}) {
7611
10.9k
            auto set = parse_presentation_set(begin, end, handler);
7612
10.9k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7613
                // clang-format off
7614
818
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7615
                // clang-format on
7616
818
                return begin;
7617
818
            }
7618
10.1k
            handler.on_character_set_string(set);
7619
10.1k
            return begin;
7620
10.9k
        }
7621
7.17k
        if (*begin == CharT{'/'}) {
7622
1.74k
            return parse_presentation_regex(begin, end, handler);
7623
1.74k
        }
7624
5.43k
        presentation_type type = parse_presentation_type(*begin++);
7625
5.43k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7626
458
            handler.on_error("Invalid type specifier in format string");
7627
458
            return begin;
7628
458
        }
7629
4.97k
        handler.on_type(type);
7630
4.97k
        return begin;
7631
5.43k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7609
8.54k
    auto do_presentation = [&]() -> const CharT* {
7610
8.54k
        if (*begin == CharT{'['}) {
7611
3.95k
            auto set = parse_presentation_set(begin, end, handler);
7612
3.95k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7613
                // clang-format off
7614
584
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7615
                // clang-format on
7616
584
                return begin;
7617
584
            }
7618
3.37k
            handler.on_character_set_string(set);
7619
3.37k
            return begin;
7620
3.95k
        }
7621
4.59k
        if (*begin == CharT{'/'}) {
7622
42
            return parse_presentation_regex(begin, end, handler);
7623
42
        }
7624
4.55k
        presentation_type type = parse_presentation_type(*begin++);
7625
4.55k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7626
392
            handler.on_error("Invalid type specifier in format string");
7627
392
            return begin;
7628
392
        }
7629
4.15k
        handler.on_type(type);
7630
4.15k
        return begin;
7631
4.55k
    };
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
7632
7633
37.9k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7634
37.9k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7635
1.47k
        return do_presentation();
7636
1.47k
    }
7637
7638
36.5k
    if (SCN_UNLIKELY(begin == end)) {
7639
0
        handler.on_error("Unexpected end of format string");
7640
0
        return begin;
7641
0
    }
7642
7643
36.5k
    begin = parse_align(begin, end, handler);
7644
36.5k
    if (SCN_UNLIKELY(begin == end)) {
7645
246
        handler.on_error("Unexpected end of format string");
7646
246
        return begin;
7647
246
    }
7648
7649
36.2k
    begin = parse_width(begin, end, handler);
7650
36.2k
    if (SCN_UNLIKELY(begin == end)) {
7651
218
        handler.on_error("Unexpected end of format string");
7652
218
        return begin;
7653
218
    }
7654
7655
36.0k
    if (*begin == CharT{'.'}) {
7656
13.8k
        ++begin;
7657
13.8k
        if (SCN_UNLIKELY(begin == end)) {
7658
68
            handler.on_error("Unexpected end of format string");
7659
68
            return begin;
7660
68
        }
7661
13.7k
        begin = parse_precision(begin, end, handler);
7662
13.7k
        if (SCN_UNLIKELY(begin == end)) {
7663
248
            handler.on_error("Unexpected end of format string");
7664
248
            return begin;
7665
248
        }
7666
13.7k
    }
7667
7668
35.7k
    if (*begin == CharT{'L'}) {
7669
1.16k
        handler.on_localized();
7670
1.16k
        ++begin;
7671
1.16k
    }
7672
35.7k
    if (SCN_UNLIKELY(begin == end)) {
7673
112
        handler.on_error("Unexpected end of format string");
7674
112
        return begin;
7675
112
    }
7676
7677
35.6k
    if (begin != end && *begin != CharT{'}'}) {
7678
25.2k
        do_presentation();
7679
25.2k
    }
7680
35.6k
    if (SCN_UNLIKELY(begin == end)) {
7681
3.34k
        handler.on_error("Unexpected end of format string");
7682
3.34k
        return begin;
7683
3.34k
    }
7684
7685
32.2k
    return begin;
7686
35.6k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7608
24.1k
{
7609
24.1k
    auto do_presentation = [&]() -> const CharT* {
7610
24.1k
        if (*begin == CharT{'['}) {
7611
24.1k
            auto set = parse_presentation_set(begin, end, handler);
7612
24.1k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7613
                // clang-format off
7614
24.1k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7615
                // clang-format on
7616
24.1k
                return begin;
7617
24.1k
            }
7618
24.1k
            handler.on_character_set_string(set);
7619
24.1k
            return begin;
7620
24.1k
        }
7621
24.1k
        if (*begin == CharT{'/'}) {
7622
24.1k
            return parse_presentation_regex(begin, end, handler);
7623
24.1k
        }
7624
24.1k
        presentation_type type = parse_presentation_type(*begin++);
7625
24.1k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7626
24.1k
            handler.on_error("Invalid type specifier in format string");
7627
24.1k
            return begin;
7628
24.1k
        }
7629
24.1k
        handler.on_type(type);
7630
24.1k
        return begin;
7631
24.1k
    };
7632
7633
24.1k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7634
24.1k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7635
934
        return do_presentation();
7636
934
    }
7637
7638
23.2k
    if (SCN_UNLIKELY(begin == end)) {
7639
0
        handler.on_error("Unexpected end of format string");
7640
0
        return begin;
7641
0
    }
7642
7643
23.2k
    begin = parse_align(begin, end, handler);
7644
23.2k
    if (SCN_UNLIKELY(begin == end)) {
7645
126
        handler.on_error("Unexpected end of format string");
7646
126
        return begin;
7647
126
    }
7648
7649
23.1k
    begin = parse_width(begin, end, handler);
7650
23.1k
    if (SCN_UNLIKELY(begin == end)) {
7651
102
        handler.on_error("Unexpected end of format string");
7652
102
        return begin;
7653
102
    }
7654
7655
23.0k
    if (*begin == CharT{'.'}) {
7656
8.67k
        ++begin;
7657
8.67k
        if (SCN_UNLIKELY(begin == end)) {
7658
34
            handler.on_error("Unexpected end of format string");
7659
34
            return begin;
7660
34
        }
7661
8.63k
        begin = parse_precision(begin, end, handler);
7662
8.63k
        if (SCN_UNLIKELY(begin == end)) {
7663
114
            handler.on_error("Unexpected end of format string");
7664
114
            return begin;
7665
114
        }
7666
8.63k
    }
7667
7668
22.8k
    if (*begin == CharT{'L'}) {
7669
518
        handler.on_localized();
7670
518
        ++begin;
7671
518
    }
7672
22.8k
    if (SCN_UNLIKELY(begin == end)) {
7673
52
        handler.on_error("Unexpected end of format string");
7674
52
        return begin;
7675
52
    }
7676
7677
22.8k
    if (begin != end && *begin != CharT{'}'}) {
7678
17.2k
        do_presentation();
7679
17.2k
    }
7680
22.8k
    if (SCN_UNLIKELY(begin == end)) {
7681
1.93k
        handler.on_error("Unexpected end of format string");
7682
1.93k
        return begin;
7683
1.93k
    }
7684
7685
20.8k
    return begin;
7686
22.8k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7608
13.7k
{
7609
13.7k
    auto do_presentation = [&]() -> const CharT* {
7610
13.7k
        if (*begin == CharT{'['}) {
7611
13.7k
            auto set = parse_presentation_set(begin, end, handler);
7612
13.7k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7613
                // clang-format off
7614
13.7k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7615
                // clang-format on
7616
13.7k
                return begin;
7617
13.7k
            }
7618
13.7k
            handler.on_character_set_string(set);
7619
13.7k
            return begin;
7620
13.7k
        }
7621
13.7k
        if (*begin == CharT{'/'}) {
7622
13.7k
            return parse_presentation_regex(begin, end, handler);
7623
13.7k
        }
7624
13.7k
        presentation_type type = parse_presentation_type(*begin++);
7625
13.7k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7626
13.7k
            handler.on_error("Invalid type specifier in format string");
7627
13.7k
            return begin;
7628
13.7k
        }
7629
13.7k
        handler.on_type(type);
7630
13.7k
        return begin;
7631
13.7k
    };
7632
7633
13.7k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7634
13.7k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7635
538
        return do_presentation();
7636
538
    }
7637
7638
13.2k
    if (SCN_UNLIKELY(begin == end)) {
7639
0
        handler.on_error("Unexpected end of format string");
7640
0
        return begin;
7641
0
    }
7642
7643
13.2k
    begin = parse_align(begin, end, handler);
7644
13.2k
    if (SCN_UNLIKELY(begin == end)) {
7645
120
        handler.on_error("Unexpected end of format string");
7646
120
        return begin;
7647
120
    }
7648
7649
13.1k
    begin = parse_width(begin, end, handler);
7650
13.1k
    if (SCN_UNLIKELY(begin == end)) {
7651
116
        handler.on_error("Unexpected end of format string");
7652
116
        return begin;
7653
116
    }
7654
7655
13.0k
    if (*begin == CharT{'.'}) {
7656
5.14k
        ++begin;
7657
5.14k
        if (SCN_UNLIKELY(begin == end)) {
7658
34
            handler.on_error("Unexpected end of format string");
7659
34
            return begin;
7660
34
        }
7661
5.11k
        begin = parse_precision(begin, end, handler);
7662
5.11k
        if (SCN_UNLIKELY(begin == end)) {
7663
134
            handler.on_error("Unexpected end of format string");
7664
134
            return begin;
7665
134
        }
7666
5.11k
    }
7667
7668
12.8k
    if (*begin == CharT{'L'}) {
7669
642
        handler.on_localized();
7670
642
        ++begin;
7671
642
    }
7672
12.8k
    if (SCN_UNLIKELY(begin == end)) {
7673
60
        handler.on_error("Unexpected end of format string");
7674
60
        return begin;
7675
60
    }
7676
7677
12.7k
    if (begin != end && *begin != CharT{'}'}) {
7678
8.01k
        do_presentation();
7679
8.01k
    }
7680
12.7k
    if (SCN_UNLIKELY(begin == end)) {
7681
1.41k
        handler.on_error("Unexpected end of format string");
7682
1.41k
        return begin;
7683
1.41k
    }
7684
7685
11.3k
    return begin;
7686
12.7k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7687
7688
template <typename CharT, typename Handler>
7689
constexpr const CharT* parse_replacement_field(const CharT* begin,
7690
                                               const CharT* end,
7691
                                               Handler& handler)
7692
79.5k
{
7693
79.5k
    struct id_adapter {
7694
79.5k
        constexpr void operator()()
7695
79.5k
        {
7696
36.4k
            arg_id = handler.on_arg_id();
7697
36.4k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7695
23.8k
        {
7696
23.8k
            arg_id = handler.on_arg_id();
7697
23.8k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7695
12.5k
        {
7696
12.5k
            arg_id = handler.on_arg_id();
7697
12.5k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
7698
79.5k
        constexpr void operator()(std::size_t id)
7699
79.5k
        {
7700
1.96k
            arg_id = handler.on_arg_id(id);
7701
1.96k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7699
520
        {
7700
520
            arg_id = handler.on_arg_id(id);
7701
520
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
7699
1.44k
        {
7700
1.44k
            arg_id = handler.on_arg_id(id);
7701
1.44k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7702
7703
79.5k
        constexpr void on_error(const char* msg)
7704
79.5k
        {
7705
18.6k
            SCN_UNLIKELY_ATTR
7706
18.6k
            handler.on_error(msg);
7707
18.6k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
7704
18.2k
        {
7705
18.2k
            SCN_UNLIKELY_ATTR
7706
18.2k
            handler.on_error(msg);
7707
18.2k
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
7704
408
        {
7705
408
            SCN_UNLIKELY_ATTR
7706
408
            handler.on_error(msg);
7707
408
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7708
7709
79.5k
        Handler& handler;
7710
79.5k
        std::size_t arg_id;
7711
79.5k
    };
7712
7713
79.5k
    ++begin;
7714
79.5k
    if (SCN_UNLIKELY(begin == end)) {
7715
156
        handler.on_error("Unexpected end of replacement field");
7716
156
        return begin;
7717
156
    }
7718
7719
79.3k
    if (*begin == CharT{'}'}) {
7720
10.1k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7721
10.1k
    }
7722
69.1k
    else if (*begin == CharT{'{'}) {
7723
12.0k
        handler.on_literal_text(begin, begin + 1);
7724
12.0k
    }
7725
57.1k
    else {
7726
57.1k
        auto adapter = id_adapter{handler, 0};
7727
57.1k
        begin = parse_arg_id(begin, end, adapter);
7728
7729
57.1k
        if (SCN_UNLIKELY(begin == end)) {
7730
222
            handler.on_error("Missing '}' in format string");
7731
222
            return begin;
7732
222
        }
7733
7734
56.8k
        if (*begin == CharT{'}'}) {
7735
298
            handler.on_replacement_field(adapter.arg_id, begin);
7736
298
        }
7737
56.5k
        else if (*begin == CharT{':'}) {
7738
38.1k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7739
138
                handler.on_error("Unexpected end of replacement field");
7740
138
                return begin;
7741
138
            }
7742
37.9k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7743
37.9k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7744
4.92k
                handler.on_error("Unknown format specifier");
7745
4.92k
                return begin;
7746
4.92k
            }
7747
37.9k
        }
7748
18.4k
        else {
7749
18.4k
            SCN_UNLIKELY_ATTR
7750
18.4k
            handler.on_error("Missing '}' in format string");
7751
18.4k
            return begin;
7752
18.4k
        }
7753
56.8k
    }
7754
55.5k
    return begin + 1;
7755
79.3k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7692
55.0k
{
7693
55.0k
    struct id_adapter {
7694
55.0k
        constexpr void operator()()
7695
55.0k
        {
7696
55.0k
            arg_id = handler.on_arg_id();
7697
55.0k
        }
7698
55.0k
        constexpr void operator()(std::size_t id)
7699
55.0k
        {
7700
55.0k
            arg_id = handler.on_arg_id(id);
7701
55.0k
        }
7702
7703
55.0k
        constexpr void on_error(const char* msg)
7704
55.0k
        {
7705
55.0k
            SCN_UNLIKELY_ATTR
7706
55.0k
            handler.on_error(msg);
7707
55.0k
        }
7708
7709
55.0k
        Handler& handler;
7710
55.0k
        std::size_t arg_id;
7711
55.0k
    };
7712
7713
55.0k
    ++begin;
7714
55.0k
    if (SCN_UNLIKELY(begin == end)) {
7715
98
        handler.on_error("Unexpected end of replacement field");
7716
98
        return begin;
7717
98
    }
7718
7719
54.9k
    if (*begin == CharT{'}'}) {
7720
5.63k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7721
5.63k
    }
7722
49.3k
    else if (*begin == CharT{'{'}) {
7723
6.63k
        handler.on_literal_text(begin, begin + 1);
7724
6.63k
    }
7725
42.6k
    else {
7726
42.6k
        auto adapter = id_adapter{handler, 0};
7727
42.6k
        begin = parse_arg_id(begin, end, adapter);
7728
7729
42.6k
        if (SCN_UNLIKELY(begin == end)) {
7730
110
            handler.on_error("Missing '}' in format string");
7731
110
            return begin;
7732
110
        }
7733
7734
42.5k
        if (*begin == CharT{'}'}) {
7735
140
            handler.on_replacement_field(adapter.arg_id, begin);
7736
140
        }
7737
42.4k
        else if (*begin == CharT{':'}) {
7738
24.2k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7739
74
                handler.on_error("Unexpected end of replacement field");
7740
74
                return begin;
7741
74
            }
7742
24.1k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7743
24.1k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7744
2.81k
                handler.on_error("Unknown format specifier");
7745
2.81k
                return begin;
7746
2.81k
            }
7747
24.1k
        }
7748
18.1k
        else {
7749
18.1k
            SCN_UNLIKELY_ATTR
7750
18.1k
            handler.on_error("Missing '}' in format string");
7751
18.1k
            return begin;
7752
18.1k
        }
7753
42.5k
    }
7754
33.7k
    return begin + 1;
7755
54.9k
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7692
24.4k
{
7693
24.4k
    struct id_adapter {
7694
24.4k
        constexpr void operator()()
7695
24.4k
        {
7696
24.4k
            arg_id = handler.on_arg_id();
7697
24.4k
        }
7698
24.4k
        constexpr void operator()(std::size_t id)
7699
24.4k
        {
7700
24.4k
            arg_id = handler.on_arg_id(id);
7701
24.4k
        }
7702
7703
24.4k
        constexpr void on_error(const char* msg)
7704
24.4k
        {
7705
24.4k
            SCN_UNLIKELY_ATTR
7706
24.4k
            handler.on_error(msg);
7707
24.4k
        }
7708
7709
24.4k
        Handler& handler;
7710
24.4k
        std::size_t arg_id;
7711
24.4k
    };
7712
7713
24.4k
    ++begin;
7714
24.4k
    if (SCN_UNLIKELY(begin == end)) {
7715
58
        handler.on_error("Unexpected end of replacement field");
7716
58
        return begin;
7717
58
    }
7718
7719
24.3k
    if (*begin == CharT{'}'}) {
7720
4.51k
        handler.on_replacement_field(handler.on_arg_id(), begin);
7721
4.51k
    }
7722
19.8k
    else if (*begin == CharT{'{'}) {
7723
5.45k
        handler.on_literal_text(begin, begin + 1);
7724
5.45k
    }
7725
14.4k
    else {
7726
14.4k
        auto adapter = id_adapter{handler, 0};
7727
14.4k
        begin = parse_arg_id(begin, end, adapter);
7728
7729
14.4k
        if (SCN_UNLIKELY(begin == end)) {
7730
112
            handler.on_error("Missing '}' in format string");
7731
112
            return begin;
7732
112
        }
7733
7734
14.3k
        if (*begin == CharT{'}'}) {
7735
158
            handler.on_replacement_field(adapter.arg_id, begin);
7736
158
        }
7737
14.1k
        else if (*begin == CharT{':'}) {
7738
13.8k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7739
64
                handler.on_error("Unexpected end of replacement field");
7740
64
                return begin;
7741
64
            }
7742
13.7k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7743
13.7k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7744
2.11k
                handler.on_error("Unknown format specifier");
7745
2.11k
                return begin;
7746
2.11k
            }
7747
13.7k
        }
7748
296
        else {
7749
296
            SCN_UNLIKELY_ATTR
7750
296
            handler.on_error("Missing '}' in format string");
7751
296
            return begin;
7752
296
        }
7753
14.3k
    }
7754
21.8k
    return begin + 1;
7755
24.3k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7756
7757
template <bool IsConstexpr, typename CharT, typename Handler>
7758
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7759
                                        Handler&& handler)
7760
149k
{
7761
    // TODO: memchr fast path with a larger (> 32) format string
7762
7763
149k
    auto begin = format.data();
7764
149k
    auto it = begin;
7765
149k
    const auto end = format.data() + format.size();
7766
7767
205M
    while (it != end) {
7768
205M
        const auto ch = *it++;
7769
205M
        if (ch == CharT{'{'}) {
7770
79.5k
            handler.on_literal_text(begin, it - 1);
7771
7772
79.5k
            begin = it = parse_replacement_field(it - 1, end, handler);
7773
79.5k
            if (!handler.get_error()) {
7774
57.7k
                return;
7775
57.7k
            }
7776
79.5k
        }
7777
204M
        else if (ch == CharT{'}'}) {
7778
53.8k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7779
50.9k
                handler.on_error("Unmatched '}' in format string");
7780
50.9k
                return;
7781
50.9k
            }
7782
7783
2.90k
            handler.on_literal_text(begin, it);
7784
2.90k
            begin = ++it;
7785
2.90k
        }
7786
205M
    }
7787
7788
40.9k
    handler.on_literal_text(begin, end);
7789
40.9k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7760
49.8k
{
7761
    // TODO: memchr fast path with a larger (> 32) format string
7762
7763
49.8k
    auto begin = format.data();
7764
49.8k
    auto it = begin;
7765
49.8k
    const auto end = format.data() + format.size();
7766
7767
161k
    while (it != end) {
7768
155k
        const auto ch = *it++;
7769
155k
        if (ch == CharT{'{'}) {
7770
55.0k
            handler.on_literal_text(begin, it - 1);
7771
7772
55.0k
            begin = it = parse_replacement_field(it - 1, end, handler);
7773
55.0k
            if (!handler.get_error()) {
7774
42.9k
                return;
7775
42.9k
            }
7776
55.0k
        }
7777
100k
        else if (ch == CharT{'}'}) {
7778
2.07k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7779
894
                handler.on_error("Unmatched '}' in format string");
7780
894
                return;
7781
894
            }
7782
7783
1.17k
            handler.on_literal_text(begin, it);
7784
1.17k
            begin = ++it;
7785
1.17k
        }
7786
155k
    }
7787
7788
6.03k
    handler.on_literal_text(begin, end);
7789
6.03k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7760
99.7k
{
7761
    // TODO: memchr fast path with a larger (> 32) format string
7762
7763
99.7k
    auto begin = format.data();
7764
99.7k
    auto it = begin;
7765
99.7k
    const auto end = format.data() + format.size();
7766
7767
204M
    while (it != end) {
7768
204M
        const auto ch = *it++;
7769
204M
        if (ch == CharT{'{'}) {
7770
24.4k
            handler.on_literal_text(begin, it - 1);
7771
7772
24.4k
            begin = it = parse_replacement_field(it - 1, end, handler);
7773
24.4k
            if (!handler.get_error()) {
7774
14.8k
                return;
7775
14.8k
            }
7776
24.4k
        }
7777
204M
        else if (ch == CharT{'}'}) {
7778
51.7k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7779
50.0k
                handler.on_error("Unmatched '}' in format string");
7780
50.0k
                return;
7781
50.0k
            }
7782
7783
1.72k
            handler.on_literal_text(begin, it);
7784
1.72k
            begin = ++it;
7785
1.72k
        }
7786
204M
    }
7787
7788
34.9k
    handler.on_literal_text(begin, end);
7789
34.9k
}
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7790
7791
template <bool IsConstexpr, typename CharT, typename Handler>
7792
constexpr scan_expected<void> parse_format_string(
7793
    std::basic_string_view<CharT> format,
7794
    Handler&& handler)
7795
149k
{
7796
149k
    parse_format_string_impl<IsConstexpr>(format, handler);
7797
149k
    handler.check_args_exhausted();
7798
149k
    return handler.get_error();
7799
149k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7795
49.8k
{
7796
49.8k
    parse_format_string_impl<IsConstexpr>(format, handler);
7797
49.8k
    handler.check_args_exhausted();
7798
49.8k
    return handler.get_error();
7799
49.8k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7795
99.7k
{
7796
99.7k
    parse_format_string_impl<IsConstexpr>(format, handler);
7797
99.7k
    handler.check_args_exhausted();
7798
99.7k
    return handler.get_error();
7799
99.7k
}
Unexecuted instantiation: impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
7800
7801
enum class arg_type_category {
7802
    none,
7803
    integer,
7804
    unsigned_integer,
7805
    floating,
7806
    string,
7807
    pointer,
7808
    boolean,
7809
    character,
7810
    custom
7811
};
7812
7813
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7814
1.16k
{
7815
1.16k
    switch (type) {
7816
108
        case arg_type::none_type:
7817
108
            return arg_type_category::none;
7818
7819
0
        case arg_type::schar_type:
7820
0
        case arg_type::short_type:
7821
118
        case arg_type::int_type:
7822
118
        case arg_type::long_type:
7823
118
        case arg_type::llong_type:
7824
118
            return arg_type_category::integer;
7825
7826
0
        case arg_type::uchar_type:
7827
0
        case arg_type::ushort_type:
7828
118
        case arg_type::uint_type:
7829
118
        case arg_type::ulong_type:
7830
118
        case arg_type::ullong_type:
7831
118
            return arg_type_category::unsigned_integer;
7832
7833
116
        case arg_type::pointer_type:
7834
116
            return arg_type_category::pointer;
7835
118
        case arg_type::bool_type:
7836
118
            return arg_type_category::boolean;
7837
52
        case arg_type::narrow_character_type:
7838
116
        case arg_type::wide_character_type:
7839
116
        case arg_type::code_point_type:
7840
116
            return arg_type_category::character;
7841
7842
0
        case arg_type::float_type:
7843
118
        case arg_type::double_type:
7844
118
        case arg_type::ldouble_type:
7845
118
            return arg_type_category::floating;
7846
7847
52
        case arg_type::narrow_string_view_type:
7848
168
        case arg_type::narrow_string_type:
7849
232
        case arg_type::wide_string_view_type:
7850
348
        case arg_type::wide_string_type:
7851
348
            return arg_type_category::string;
7852
7853
0
        case arg_type::custom_type:
7854
0
            return arg_type_category::custom;
7855
7856
0
            SCN_CLANG_PUSH
7857
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7858
0
        default:
7859
0
            SCN_ENSURE(false);
7860
1.16k
            SCN_UNREACHABLE;
7861
1.16k
            SCN_CLANG_POP
7862
1.16k
    }
7863
7864
1.16k
    SCN_UNREACHABLE;
7865
1.16k
}
7866
7867
template <typename Handler>
7868
class specs_checker : public Handler {
7869
public:
7870
    template <typename H>
7871
    constexpr specs_checker(H&& handler, arg_type type)
7872
37.9k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7873
37.9k
    {
7874
37.9k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7875
37.9k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7872
24.1k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7873
24.1k
    {
7874
24.1k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7875
24.1k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7872
13.7k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7873
13.7k
    {
7874
13.7k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7875
13.7k
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
7876
7877
    constexpr void on_localized()
7878
1.16k
    {
7879
1.16k
        const auto cat = get_category_for_arg_type(m_arg_type);
7880
1.16k
        if (cat != arg_type_category::integer &&
7881
1.16k
            cat != arg_type_category::unsigned_integer &&
7882
1.16k
            cat != arg_type_category::floating &&
7883
1.16k
            cat != arg_type_category::boolean) {
7884
688
            SCN_UNLIKELY_ATTR
7885
            // clang-format off
7886
688
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7887
            // clang-format on
7888
688
        }
7889
7890
472
        Handler::on_localized();
7891
472
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
7878
518
    {
7879
518
        const auto cat = get_category_for_arg_type(m_arg_type);
7880
518
        if (cat != arg_type_category::integer &&
7881
518
            cat != arg_type_category::unsigned_integer &&
7882
518
            cat != arg_type_category::floating &&
7883
518
            cat != arg_type_category::boolean) {
7884
310
            SCN_UNLIKELY_ATTR
7885
            // clang-format off
7886
310
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7887
            // clang-format on
7888
310
        }
7889
7890
208
        Handler::on_localized();
7891
208
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
7878
642
    {
7879
642
        const auto cat = get_category_for_arg_type(m_arg_type);
7880
642
        if (cat != arg_type_category::integer &&
7881
642
            cat != arg_type_category::unsigned_integer &&
7882
642
            cat != arg_type_category::floating &&
7883
642
            cat != arg_type_category::boolean) {
7884
378
            SCN_UNLIKELY_ATTR
7885
            // clang-format off
7886
378
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7887
            // clang-format on
7888
378
        }
7889
7890
264
        Handler::on_localized();
7891
264
    }
Unexecuted instantiation: impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
7892
7893
private:
7894
    arg_type m_arg_type;
7895
};
7896
7897
template <typename Handler>
7898
constexpr void check_int_type_specs(const format_specs& specs,
7899
                                    Handler&& handler)
7900
7.25k
{
7901
7.25k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7902
4.61k
        return handler.on_error("Invalid type specifier for integer type");
7903
4.61k
    }
7904
2.64k
    if (specs.localized) {
7905
168
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7906
            // clang-format off
7907
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7908
            // clang-format on
7909
16
            return;
7910
16
        }
7911
152
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7912
            // clang-format off
7913
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7914
            // clang-format on
7915
0
        }
7916
152
    }
7917
2.64k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7900
7.25k
{
7901
7.25k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7902
4.61k
        return handler.on_error("Invalid type specifier for integer type");
7903
4.61k
    }
7904
2.64k
    if (specs.localized) {
7905
168
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7906
            // clang-format off
7907
16
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7908
            // clang-format on
7909
16
            return;
7910
16
        }
7911
152
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7912
            // clang-format off
7913
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7914
            // clang-format on
7915
0
        }
7916
152
    }
7917
2.64k
}
7918
7919
template <typename Handler>
7920
constexpr void check_char_type_specs(const format_specs& specs,
7921
                                     Handler&& handler)
7922
3.52k
{
7923
3.52k
    if (specs.type > presentation_type::int_hex ||
7924
3.52k
        specs.type == presentation_type::int_arbitrary_base) {
7925
2.28k
        SCN_UNLIKELY_ATTR
7926
2.28k
        return handler.on_error("Invalid type specifier for character type");
7927
2.28k
    }
7928
3.52k
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7922
3.52k
{
7923
3.52k
    if (specs.type > presentation_type::int_hex ||
7924
3.52k
        specs.type == presentation_type::int_arbitrary_base) {
7925
2.28k
        SCN_UNLIKELY_ATTR
7926
2.28k
        return handler.on_error("Invalid type specifier for character type");
7927
2.28k
    }
7928
3.52k
}
7929
7930
template <typename Handler>
7931
constexpr void check_code_point_type_specs(const format_specs& specs,
7932
                                           Handler&& handler)
7933
0
{
7934
0
    if (specs.type != presentation_type::none &&
7935
0
        specs.type != presentation_type::character) {
7936
0
        SCN_UNLIKELY_ATTR
7937
0
        return handler.on_error("Invalid type specifier for code point type");
7938
0
    }
7939
0
}
7940
7941
template <typename Handler>
7942
constexpr void check_float_type_specs(const format_specs& specs,
7943
                                      Handler&& handler)
7944
3.62k
{
7945
3.62k
    if (specs.type != presentation_type::none &&
7946
3.62k
        (specs.type < presentation_type::float_hex ||
7947
2.49k
         specs.type > presentation_type::float_general)) {
7948
2.28k
        SCN_UNLIKELY_ATTR
7949
2.28k
        return handler.on_error("Invalid type specifier for float type");
7950
2.28k
    }
7951
3.62k
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7944
3.62k
{
7945
3.62k
    if (specs.type != presentation_type::none &&
7946
3.62k
        (specs.type < presentation_type::float_hex ||
7947
2.49k
         specs.type > presentation_type::float_general)) {
7948
2.28k
        SCN_UNLIKELY_ATTR
7949
2.28k
        return handler.on_error("Invalid type specifier for float type");
7950
2.28k
    }
7951
3.62k
}
7952
7953
template <typename Handler>
7954
constexpr void check_string_type_specs(const format_specs& specs,
7955
                                       Handler&& handler)
7956
10.5k
{
7957
10.5k
    if (specs.type == presentation_type::none ||
7958
10.5k
        specs.type == presentation_type::string ||
7959
10.5k
        specs.type == presentation_type::string_set ||
7960
10.5k
        specs.type == presentation_type::regex ||
7961
10.5k
        specs.type == presentation_type::regex_escaped) {
7962
9.18k
        return;
7963
9.18k
    }
7964
1.39k
    if (specs.type == presentation_type::character) {
7965
270
        if (SCN_UNLIKELY(specs.precision == 0)) {
7966
            // clang-format off
7967
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7968
            // clang-format on
7969
12
        }
7970
258
        return;
7971
270
    }
7972
1.12k
    SCN_UNLIKELY_ATTR
7973
1.12k
    handler.on_error("Invalid type specifier for string");
7974
1.12k
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7956
10.5k
{
7957
10.5k
    if (specs.type == presentation_type::none ||
7958
10.5k
        specs.type == presentation_type::string ||
7959
10.5k
        specs.type == presentation_type::string_set ||
7960
10.5k
        specs.type == presentation_type::regex ||
7961
10.5k
        specs.type == presentation_type::regex_escaped) {
7962
9.18k
        return;
7963
9.18k
    }
7964
1.39k
    if (specs.type == presentation_type::character) {
7965
270
        if (SCN_UNLIKELY(specs.precision == 0)) {
7966
            // clang-format off
7967
12
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7968
            // clang-format on
7969
12
        }
7970
258
        return;
7971
270
    }
7972
1.12k
    SCN_UNLIKELY_ATTR
7973
1.12k
    handler.on_error("Invalid type specifier for string");
7974
1.12k
}
7975
7976
template <typename Handler>
7977
constexpr void check_pointer_type_specs(const format_specs& specs,
7978
                                        Handler&& handler)
7979
3.52k
{
7980
3.52k
    if (specs.type != presentation_type::none &&
7981
3.52k
        specs.type != presentation_type::pointer) {
7982
2.42k
        SCN_UNLIKELY_ATTR
7983
2.42k
        return handler.on_error("Invalid type specifier for pointer");
7984
2.42k
    }
7985
3.52k
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7979
3.52k
{
7980
3.52k
    if (specs.type != presentation_type::none &&
7981
3.52k
        specs.type != presentation_type::pointer) {
7982
2.42k
        SCN_UNLIKELY_ATTR
7983
2.42k
        return handler.on_error("Invalid type specifier for pointer");
7984
2.42k
    }
7985
3.52k
}
7986
7987
template <typename Handler>
7988
constexpr void check_bool_type_specs(const format_specs& specs,
7989
                                     Handler&& handler)
7990
3.62k
{
7991
3.62k
    if (specs.type != presentation_type::none &&
7992
3.62k
        specs.type != presentation_type::string &&
7993
3.62k
        specs.type != presentation_type::int_generic &&
7994
3.62k
        specs.type != presentation_type::int_hex &&
7995
3.62k
        specs.type != presentation_type::int_binary &&
7996
3.62k
        specs.type != presentation_type::int_unsigned_decimal &&
7997
3.62k
        specs.type != presentation_type::int_octal &&
7998
3.62k
        specs.type != presentation_type::int_decimal) {
7999
1.95k
        SCN_UNLIKELY_ATTR
8000
1.95k
        return handler.on_error("Invalid type specifier for boolean");
8001
1.95k
    }
8002
3.62k
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7990
3.62k
{
7991
3.62k
    if (specs.type != presentation_type::none &&
7992
3.62k
        specs.type != presentation_type::string &&
7993
3.62k
        specs.type != presentation_type::int_generic &&
7994
3.62k
        specs.type != presentation_type::int_hex &&
7995
3.62k
        specs.type != presentation_type::int_binary &&
7996
3.62k
        specs.type != presentation_type::int_unsigned_decimal &&
7997
3.62k
        specs.type != presentation_type::int_octal &&
7998
3.62k
        specs.type != presentation_type::int_decimal) {
7999
1.95k
        SCN_UNLIKELY_ATTR
8000
1.95k
        return handler.on_error("Invalid type specifier for boolean");
8001
1.95k
    }
8002
3.62k
}
8003
8004
template <typename Handler>
8005
constexpr void check_regex_type_specs(const format_specs& specs,
8006
                                      Handler&& handler)
8007
0
{
8008
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8009
0
                     specs.charset_string_size == 0)) {
8010
        // clang-format off
8011
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
8012
        // clang-format on
8013
0
    }
8014
0
    if (specs.type == presentation_type::regex ||
8015
0
        specs.type == presentation_type::regex_escaped) {
8016
0
        return;
8017
0
    }
8018
0
    SCN_UNLIKELY_ATTR
8019
0
    handler.on_error("Invalid type specifier for regex_matches");
8020
0
}
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8021
}  // namespace detail
8022
8023
/**
8024
 * \defgroup format-string Format strings
8025
 *
8026
 * \brief Format string description
8027
 *
8028
 * The format string syntax is heavily influenced by {fmt} and
8029
 * `std::format`, and is largely compatible with it. Scanning functions,
8030
 * such as `scn::scan` and
8031
 * `scn::input`, use the format string syntax described in this section.
8032
 *
8033
 * Format strings consist of:
8034
 *
8035
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8036
 *
8037
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8038
 *    `{{` and `}}`), which consume exactly one identical character from the
8039
 *    input
8040
 *
8041
 *  * Whitespace characters, which consume any and all available consecutive
8042
 *    whitespace from the input.
8043
 *
8044
 * Literal characters are matched by code point one-to-one, with no
8045
 * normalization being done.
8046
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8047
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8048
 *
8049
 * Characters (code points) are considered to be whitespace characters by
8050
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8051
 * These code points are:
8052
 *
8053
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8054
 *  * U+0085 (next line)
8055
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8056
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8057
 *
8058
 * The grammar for a replacement field is as follows:
8059
 *
8060
 * \code
8061
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8062
 * arg-id              ::= positive-integer
8063
 *
8064
 * format-spec         ::= [fill-and-align]
8065
 *                         [width] [precision]
8066
 *                         ['L'] [type]
8067
 * fill-and-align      ::= [fill] align
8068
 * fill                ::= any character other than
8069
 *                         '{' or '}'
8070
 * align               ::= one of '<' '>' '^'
8071
 * width               ::= positive-integer
8072
 * precision           ::= '.' nonnegative-integer
8073
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8074
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8075
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8076
 * \endcode
8077
 *
8078
 * \section arg-ids Argument IDs
8079
 *
8080
 * The `arg-id` specifier can be used to index arguments manually.
8081
 * If manual indexing is used, all of the indices in a format string must be
8082
 * stated explicitly. The same `arg-id` can appear in the format string
8083
 * only once, and must refer to a valid argument.
8084
 *
8085
 * \code{.cpp}
8086
 * // Format string equivalent to "{0} to {1}"
8087
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8088
 * // a->values() == (2, 300)
8089
 *
8090
 * // Manual indexing
8091
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8092
 * // b->values() == (300, 2)
8093
 *
8094
 * // INVALID:
8095
 * // Automatic and manual indexing is mixed
8096
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8097
 *
8098
 * // INVALID:
8099
 * // Same argument is referred to multiple times
8100
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8101
 *
8102
 * // INVALID:
8103
 * // {2} does not refer to an argument
8104
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8105
 * \endcode
8106
 *
8107
 * \section fill-and-align Fill and align
8108
 *
8109
 * Alignment allows for skipping character before and/or after a value.
8110
 * There are three possible values for alignment:
8111
 *
8112
 * <table>
8113
 * <caption id="align-table">
8114
 * Alignment options
8115
 * </caption>
8116
 *
8117
 * <tr><th>Option</th> <th>Meaning</th></tr>
8118
 *
8119
 * <tr>
8120
 * <td>`<`</td>
8121
 * <td>
8122
 * Align the value to the left (skips fill characters after the value)
8123
 * </td>
8124
 * </tr>
8125
 *
8126
 * <tr>
8127
 * <td>`>`</td>
8128
 * <td>
8129
 * Align the value to the right (skips fill characters before the value)
8130
 * </td>
8131
 * </tr>
8132
 *
8133
 * <tr>
8134
 * <td>`^`</td>
8135
 * <td>
8136
 * Align the value to the center
8137
 * (skips fill characters both before and after the value)
8138
 * </td>
8139
 * </tr>
8140
 * </table>
8141
 *
8142
 * The fill character can be any Unicode code point, except for `{` and `}`.
8143
 * The default fill is the space character `' '`.
8144
 *
8145
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8146
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8147
 * the default alignment is `>`.
8148
 * Otherwise, the default alignment is `<`.
8149
 *
8150
 * In addition to the skipping of fill characters,
8151
 * for format type specifiers with the `>` default alignment,
8152
 * preceding whitespace is automatically skipped.
8153
 * This preceding whitespace isn't counted as part of the field width,
8154
 * as described below.
8155
 *
8156
 * The number of fill characters consumed can be controlled with the width and
8157
 * precision specifiers.
8158
 *
8159
 * \section width Width
8160
 *
8161
 * Width specifies the minimum number of characters that will be read from
8162
 * the source range. It can be any unsigned integer. Any fill characters skipped
8163
 * are included in the width
8164
 *
8165
 * For the purposes of width calculation, the same algorithm is used that in
8166
 * {fmt}. Every code point has a width of one, except the following ones
8167
 * have a width of 2:
8168
 *
8169
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8170
 *   Derived Extracted Property as described by UAX#44
8171
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8172
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8173
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8174
 *
8175
 * \section precision Precision
8176
 *
8177
 * Precision specifies the maximum number of characters that will be read from
8178
 * the source range. The method for counting characters is the same as above,
8179
 * with the width field.
8180
 *
8181
 * \section localized Localized
8182
 *
8183
 * The `L` flag enables localized scanning.
8184
 * Its effects are different for each type it is used with:
8185
 *
8186
 *  * For integers, it enables locale-specific thousands separators
8187
 *  * For floating-point numbers, it enables locale-specific thousands and
8188
 *    radix (decimal) separators
8189
 *  * For booleans, it enables locale-specific textual representations (for
8190
 *    `true` and `false`)
8191
 *  * For other types, it has no effect
8192
 *
8193
 * \section type Type specifier
8194
 *
8195
 * The type specifier determines how the data is to be scanned.
8196
 * The type of the argument to be scanned determines what flags are valid.
8197
 *
8198
 * \subsection type-string Type specifier: strings
8199
 *
8200
 * <table>
8201
 * <caption id="type-string-table">
8202
 * String types (`std::basic_string` and `std::basic_string_view`)
8203
 * </caption>
8204
 * <tr><th>Type</th> <th>Meaning</th></tr>
8205
 * <tr>
8206
 * <td>none, `s`</td>
8207
 * <td>
8208
 * Copies from the input until a whitespace character is encountered, or,
8209
 * if using the `<` (left) or `^` (center) alignment,
8210
 * a fill character is encountered.
8211
 * </td>
8212
 * </tr>
8213
 * <tr>
8214
 * <td>`c`</td>
8215
 * <td>
8216
 * Copies from the input until the field width is exhausted.
8217
 * Doesn't skip preceding whitespace.
8218
 * Errors if no field precision is provided.
8219
 * </td>
8220
 * </tr>
8221
 * <tr>
8222
 * <td>`[...]`</td>
8223
 * <td>
8224
 * Character set matching: copies from the input until a character not specified
8225
 * in the set is encountered. Character ranges can be specified with `-`, and
8226
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8227
 * arbitrary Unicode code points.
8228
 * Doesn't skip preceding whitespace.
8229
 * </td>
8230
 * </tr>
8231
 * <tr>
8232
 * <td>`/<regex>/<flags>`</td>
8233
 * <td>
8234
 * Regular expression matching: copies from the input until the input does not
8235
 * match the regex.
8236
 * Doesn't skip preceding whitespace.
8237
 * \see regex
8238
 * </td>
8239
 * </tr>
8240
 * </table>
8241
 *
8242
 * \note `std::basic_string_view` can only be scanned if the source is
8243
 * contiguous.
8244
 *
8245
 * \subsection type-int Type specifier: integers
8246
 *
8247
 * Integer values are scanned as if by using `std::from_chars`,
8248
 * except a positive `+` sign and a base prefix (like `0x`) are always
8249
 * allowed to be present.
8250
 *
8251
 * <table>
8252
 * <caption id="type-int-table">
8253
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8254
 * `int`, `long`, and `long long`)
8255
 * </caption>
8256
 * <tr><th>Type</th> <th>Meaning</th></tr>
8257
 * <tr>
8258
 * <td>`b`, `B`</td>
8259
 * <td>
8260
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8261
 * </td>
8262
 * </tr>
8263
 * <tr>
8264
 * <td>`o`, `O`</td>
8265
 * <td>
8266
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8267
 * `0`.
8268
 * </td>
8269
 * </tr>
8270
 * <tr>
8271
 * <td>`x`, `X`</td>
8272
 * <td>
8273
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8274
 * </td>
8275
 * </tr>
8276
 * <tr>
8277
 * <td>`d`</td>
8278
 * <td>
8279
 * `std::from_chars` with base `10`. No base prefix allowed.
8280
 * </td>
8281
 * </tr>
8282
 * <tr>
8283
 * <td>`u`</td>
8284
 * <td>
8285
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8286
 * </td>
8287
 * </tr>
8288
 * <tr>
8289
 * <td>`i`</td>
8290
 * <td>
8291
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8292
 * </td>
8293
 * </tr>
8294
 * <tr>
8295
 * <td>`rXX` (where XX = [2, 36])</td>
8296
 * <td>
8297
 * Custom base, without a base prefix (r stands for radix).
8298
 * </td>
8299
 * </tr>
8300
 * <tr>
8301
 * <td>`c`</td>
8302
 * <td>
8303
 * Copies a character (code unit) from the input.
8304
 * </td>
8305
 * </tr>
8306
 * <tr>
8307
 * <td>none</td>
8308
 * <td>
8309
 * Same as `d`.
8310
 * </td>
8311
 * </tr>
8312
 * </table>
8313
 *
8314
 * \subsection type-char Type specifier: characters
8315
 *
8316
 * <table>
8317
 * <caption id="type-char-table">
8318
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8319
 * </caption>
8320
 * <tr><th>Type</th> <th>Meaning</th></tr>
8321
 * <tr>
8322
 * <td>none, `c`</td>
8323
 * <td>
8324
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8325
 * input.
8326
 * </td>
8327
 * </tr>
8328
 * <tr>
8329
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8330
 * <td>
8331
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8332
 * </td>
8333
 * </tr>
8334
 * </table>
8335
 *
8336
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8337
 * read a single code unit at a time, and encoding is not respected.
8338
 *
8339
 * \subsection type-float Type specifier: floating-point values
8340
 *
8341
 * Floating-point values are scanned as if by using `std::from_chars`,
8342
 * except a positive `+` sign and a base prefix (like `0x`) are always
8343
 * allowed to be present.
8344
 *
8345
 * <table>
8346
 * <caption id="type-float-table">
8347
 * Floating-point types (`float`, `double`, and `long double`)
8348
 * </caption>
8349
 * <tr><th>Type</th> <th>Meaning</th></tr>
8350
 * <tr>
8351
 * <td>`a`, `A`</td>
8352
 * <td>
8353
 * `std::from_chars` with `std::chars_format::hex`.
8354
 * Prefix `0x`/`0X` is allowed.
8355
 * </td>
8356
 * </tr>
8357
 * <tr>
8358
 * <td>`e`, `E`</td>
8359
 * <td>
8360
 * `std::from_chars` with `std::chars_format::scientific`.
8361
 * </td>
8362
 * </tr>
8363
 * <tr>
8364
 * <td>`f`, `F`</td>
8365
 * <td>
8366
 * `std::from_chars` with `std::chars_format::fixed`.
8367
 * </td>
8368
 * </tr>
8369
 * <tr>
8370
 * <td>`g`, `G`</td>
8371
 * <td>
8372
 * `std::from_chars` with `std::chars_format::general`.
8373
 * </td>
8374
 * </tr>
8375
 * <tr>
8376
 * <td>none</td>
8377
 * <td>
8378
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8379
 * Prefix `0x`/`0X` is allowed.
8380
 * </td>
8381
 * </tr>
8382
 * </table>
8383
 *
8384
 * \subsection type-bool Type specifier: booleans
8385
 *
8386
 * <table>
8387
 * <caption id="type-bool-table">
8388
 * `bool`
8389
 * </caption>
8390
 * <tr><th>Type</th> <th>Meaning</th></tr>
8391
 * <tr>
8392
 * <td>`s`</td>
8393
 * <td>
8394
 * Allows for the textual representation (`true` or `false`).
8395
 * </td>
8396
 * </tr>
8397
 * <tr>
8398
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8399
 * <td>
8400
 * Allows for the integral/numeric representation (`0` or `1`).
8401
 * </td>
8402
 * </tr>
8403
 * <tr>
8404
 * <td>none</td>
8405
 * <td>
8406
 * Allows for both the textual and the integral/numeric representation.
8407
 * </td>
8408
 * </tr>
8409
 * </table>
8410
 */
8411
8412
namespace detail {
8413
/**
8414
 * A runtime format string
8415
 *
8416
 * \ingroup format-string
8417
 */
8418
template <typename CharT>
8419
struct basic_runtime_format_string {
8420
149k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8420
49.8k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8420
99.7k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8421
8422
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8423
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8424
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8425
        delete;
8426
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8427
        delete;
8428
    ~basic_runtime_format_string() = default;
8429
8430
    std::basic_string_view<CharT> str;
8431
};
8432
}  // namespace detail
8433
8434
/**
8435
 * Create a runtime format string
8436
 *
8437
 * Can be used to avoid compile-time format string checking
8438
 *
8439
 * \ingroup format-string
8440
 */
8441
inline detail::basic_runtime_format_string<char> runtime_format(
8442
    std::string_view s)
8443
49.8k
{
8444
49.8k
    return s;
8445
49.8k
}
8446
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8447
    std::wstring_view s)
8448
99.7k
{
8449
99.7k
    return s;
8450
99.7k
}
8451
8452
namespace detail {
8453
struct compile_string {};
8454
8455
template <typename Str>
8456
inline constexpr bool is_compile_string_v =
8457
    std::is_base_of_v<compile_string, Str>;
8458
8459
template <typename Scanner, typename ParseCtx>
8460
using dt_scanner_parse =
8461
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8462
template <typename Scanner, typename T, typename Ctx>
8463
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8464
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8465
8466
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8467
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8468
    ParseCtx& parse_ctx)
8469
{
8470
    static_assert(
8471
        std::is_default_constructible_v<Scanner>,
8472
        "Specializations of scn::scanner must be default constructible");
8473
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8474
                  "Specializations of scn::scanner must have a "
8475
                  "parse(ParseContext&) member function.");
8476
    static_assert(
8477
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8478
                       typename ParseCtx::iterator>,
8479
        "scn::scanner::parse(ParseContext&) must return "
8480
        "ParseContext::iterator. To report an error from scanner::parse, "
8481
        "either throw an exception derived from scn::scan_format_string_error, "
8482
        "or call ParseContext::on_error.");
8483
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8484
                  "Specializations of scn::scanner must have a "
8485
                  "scan(T&, Context&) const member function.");
8486
    static_assert(
8487
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8488
                       scan_expected<typename Ctx::iterator>>,
8489
        "scn::scanner::scan(T&, Context&) must return "
8490
        "scan_expected<Context::iterator>.");
8491
8492
    auto s = Scanner{};
8493
    return s.parse(parse_ctx);
8494
}
8495
8496
template <typename T, typename Ctx, typename ParseCtx>
8497
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8498
{
8499
    using char_type = typename Ctx::char_type;
8500
    using map_result =
8501
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8502
            SCN_DECLVAL(T&)))>;
8503
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8504
        // Error will be reported by static_assert in make_value(),
8505
        // let's not muddy the compiler error by making more of them.
8506
        return parse_ctx.begin();
8507
    }
8508
    else {
8509
        using mapped_type =
8510
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8511
                                   arg_type::custom_type,
8512
                               map_result, T>;
8513
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8514
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8515
            parse_ctx);
8516
    }
8517
}
8518
8519
template <typename CharT, typename Source, typename... Args>
8520
class format_string_checker {
8521
public:
8522
    using parse_context_type = compile_parse_context<CharT>;
8523
    static constexpr auto num_args = sizeof...(Args);
8524
8525
    explicit constexpr format_string_checker(
8526
        std::basic_string_view<CharT> format_str)
8527
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8528
          m_parse_funcs{&parse_format_specs<Args,
8529
                                            default_context<CharT>,
8530
                                            parse_context_type>...},
8531
          m_types{arg_type_constant<Args, CharT>::value...}
8532
    {
8533
    }
8534
8535
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8536
    {
8537
        // TODO: Do we want to validate Unicode in format strings?
8538
        // We're dealing with text, so we probably do.
8539
        // We could do codeunit-to-codeunit matching,
8540
        // but that could get messy wrt. whitespace matching.
8541
        // It's simpler to not allow nonsense.
8542
        while (begin != end) {
8543
            const auto len = code_point_length_by_starting_code_unit(*begin);
8544
            if (SCN_UNLIKELY(len == 0 ||
8545
                             static_cast<size_t>(end - begin) < len)) {
8546
                return on_error("Invalid encoding in format string");
8547
            }
8548
8549
            const auto cp = decode_code_point_exhaustive(
8550
                std::basic_string_view<CharT>{begin, len});
8551
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8552
                return on_error("Invalid encoding in format string");
8553
            }
8554
8555
            begin += len;
8556
        }
8557
    }
8558
8559
    constexpr auto on_arg_id()
8560
    {
8561
        return m_parse_context.next_arg_id();
8562
    }
8563
    constexpr auto on_arg_id(std::size_t id)
8564
    {
8565
        m_parse_context.check_arg_id(id);
8566
        return id;
8567
    }
8568
8569
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8570
    {
8571
        set_arg_as_read(id);
8572
8573
        auto type = m_types[id];
8574
        check_arg_can_be_read(type);
8575
8576
        if (type == arg_type::narrow_regex_matches_type ||
8577
            type == arg_type::wide_regex_matches_type) {
8578
            // clang-format off
8579
            return on_error("Regular expression needs to be specified when reading regex_matches");
8580
            // clang-format on
8581
        }
8582
        if (type == arg_type::custom_type && id < num_args) {
8583
            // Only call scanner::parse to check for errors,
8584
            // we're discarding the result.
8585
            // The advance_to dance is done to point the parse context to the
8586
            // character after the `{`; right now, it points to that
8587
            const auto beg = begin;
8588
            m_parse_context.advance_to(begin);
8589
            m_parse_funcs[id](m_parse_context);
8590
            m_parse_context.advance_to(beg);
8591
        }
8592
    }
8593
8594
    constexpr const CharT* on_format_specs(std::size_t id,
8595
                                           const CharT* begin,
8596
                                           const CharT*)
8597
    {
8598
        set_arg_as_read(id);
8599
        check_arg_can_be_read(m_types[id]);
8600
8601
        m_parse_context.advance_to(begin);
8602
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8603
    }
8604
8605
    constexpr void check_args_exhausted()
8606
    {
8607
        if (num_args == 0) {
8608
            return;
8609
        }
8610
        for (auto is_set : m_visited_args) {
8611
            if (!is_set) {
8612
                return on_error("Argument list not exhausted");
8613
            }
8614
        }
8615
    }
8616
8617
    void on_error(const char* msg)
8618
    {
8619
        SCN_UNLIKELY_ATTR
8620
        m_parse_context.on_error(msg);
8621
    }
8622
8623
    // Only to satisfy the concept and eliminate compiler errors,
8624
    // because errors are reported by failing to compile on_error above
8625
    // (it's not constexpr)
8626
    constexpr scan_expected<void> get_error() const
8627
    {
8628
        return {};
8629
    }
8630
8631
private:
8632
    constexpr void set_arg_as_read(size_t id)
8633
    {
8634
        if (id >= num_args) {
8635
            return on_error("Invalid out-of-range argument ID");
8636
        }
8637
        if (m_visited_args[id]) {
8638
            return on_error("Argument with this ID already scanned");
8639
        }
8640
        m_visited_args[id] = true;
8641
    }
8642
8643
    constexpr void check_arg_can_be_read(arg_type type)
8644
    {
8645
        if ((type == arg_type::narrow_string_view_type ||
8646
             type == arg_type::wide_string_view_type) &&
8647
            !m_parse_context.is_source_contiguous()) {
8648
            // clang-format off
8649
            return on_error("Cannot read a string_view from a non-contiguous source");
8650
            // clang-format on
8651
        }
8652
        if ((type == arg_type::narrow_string_view_type ||
8653
             type == arg_type::wide_string_view_type) &&
8654
            !m_parse_context.is_source_borrowed()) {
8655
            // clang-format off
8656
            return on_error("Cannot read a string_view from a non-borrowed source");
8657
            // clang-format on
8658
        }
8659
8660
        if ((type == arg_type::narrow_regex_matches_type ||
8661
             type == arg_type::wide_regex_matches_type) &&
8662
            !m_parse_context.is_source_contiguous()) {
8663
            // clang-format off
8664
            return on_error("Cannot read a regex_matches from a non-contiguous source");
8665
            // clang-format on
8666
        }
8667
    }
8668
8669
    using parse_func = const CharT* (*)(parse_context_type&);
8670
8671
    parse_context_type m_parse_context;
8672
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8673
    arg_type m_types[num_args > 0 ? num_args : 1];
8674
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8675
};
8676
8677
template <typename Source, typename... Args, typename Str>
8678
constexpr auto check_format_string(const Str&)
8679
    -> std::enable_if_t<!is_compile_string_v<Str>>
8680
0
{
8681
    // TODO: SCN_ENFORE_COMPILE_STRING?
8682
#if 0  // SCN_ENFORE_COMPILE_STRING
8683
    static_assert(dependent_false<Str>::value,
8684
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8685
              "strings to use SCN_STRING.");
8686
#endif
8687
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8688
8689
template <typename Source, typename... Args, typename Str>
8690
constexpr auto check_format_string(Str format_str)
8691
    -> std::enable_if_t<is_compile_string_v<Str>>
8692
{
8693
    using char_type = typename Str::char_type;
8694
8695
    SCN_GCC_PUSH
8696
    SCN_GCC_IGNORE("-Wconversion")
8697
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8698
    SCN_GCC_POP
8699
8700
    using checker = format_string_checker<char_type, Source, Args...>;
8701
    constexpr bool invalid_format =
8702
        (parse_format_string<true>(s, checker(s)), true);
8703
    SCN_UNUSED(invalid_format);
8704
}
8705
8706
template <typename CharT, std::size_t N>
8707
constexpr std::basic_string_view<CharT> compile_string_to_view(
8708
    const CharT (&s)[N])
8709
{
8710
    return {s, N - 1};
8711
}
8712
template <typename CharT>
8713
constexpr std::basic_string_view<CharT> compile_string_to_view(
8714
    std::basic_string_view<CharT> s)
8715
{
8716
    return s;
8717
}
8718
}  // namespace detail
8719
8720
#define SCN_STRING_IMPL(s, base, expl)                                       \
8721
    [] {                                                                     \
8722
        struct SCN_COMPILE_STRING : base {                                   \
8723
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8724
            SCN_MAYBE_UNUSED constexpr expl                                  \
8725
            operator ::std::basic_string_view<char_type>() const             \
8726
            {                                                                \
8727
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8728
            }                                                                \
8729
        };                                                                   \
8730
        return SCN_COMPILE_STRING{};                                         \
8731
    }()
8732
8733
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8734
8735
/**
8736
 * Compile-time format string
8737
 *
8738
 * \ingroup format-string
8739
 */
8740
template <typename CharT, typename Source, typename... Args>
8741
class basic_scan_format_string {
8742
public:
8743
    SCN_CLANG_PUSH
8744
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8745
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8746
#endif
8747
    template <
8748
        typename S,
8749
        std::enable_if_t<
8750
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8751
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8752
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8753
0
    {
8754
#if SCN_HAS_CONSTEVAL
8755
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8756
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8757
        SCN_UNUSED(e);
8758
#else
8759
0
        detail::check_format_string<Source, Args...>(s);
8760
0
#endif
8761
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8762
    SCN_CLANG_POP
8763
8764
    template <
8765
        typename OtherSource,
8766
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8767
                                        detail::remove_cvref_t<OtherSource>> &&
8768
                         ranges::borrowed_range<Source> ==
8769
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8770
    constexpr basic_scan_format_string(
8771
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8772
        : m_str(other.get())
8773
    {
8774
    }
8775
8776
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8777
149k
        : m_str(r.str)
8778
149k
    {
8779
149k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8777
5.54k
        : m_str(r.str)
8778
5.54k
    {
8779
5.54k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8777
11.0k
        : m_str(r.str)
8778
11.0k
    {
8779
11.0k
    }
8780
8781
    constexpr operator std::basic_string_view<CharT>() const
8782
149k
    {
8783
149k
        return m_str;
8784
149k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8782
5.54k
    {
8783
5.54k
        return m_str;
8784
5.54k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
scn::v4::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8782
11.0k
    {
8783
11.0k
        return m_str;
8784
11.0k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8785
    constexpr std::basic_string_view<CharT> get() const
8786
    {
8787
        return m_str;
8788
    }
8789
8790
private:
8791
    std::basic_string_view<CharT> m_str;
8792
};
8793
8794
namespace detail {
8795
class locale_ref {
8796
#if !SCN_DISABLE_LOCALE
8797
public:
8798
81.7k
    constexpr locale_ref() = default;
8799
8800
    template <typename Locale>
8801
    explicit locale_ref(const Locale& loc);
8802
8803
    constexpr explicit operator bool() const noexcept
8804
0
    {
8805
0
        return m_locale != nullptr;
8806
0
    }
8807
8808
    template <typename Locale>
8809
    Locale get() const;
8810
8811
private:
8812
    const void* m_locale{nullptr};
8813
#else
8814
public:
8815
    constexpr locale_ref() = default;
8816
8817
    template <typename T>
8818
    constexpr explicit locale_ref(T&&)
8819
    {
8820
    }
8821
8822
    constexpr explicit operator bool() const noexcept
8823
    {
8824
        return true;
8825
    }
8826
#endif
8827
};
8828
}  // namespace detail
8829
8830
/////////////////////////////////////////////////////////////////
8831
// scan_context
8832
/////////////////////////////////////////////////////////////////
8833
8834
namespace detail {
8835
template <typename I>
8836
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8837
template <typename I>
8838
inline constexpr bool is_comparable_with_nullptr =
8839
    mp_valid_v<apply_cmp_with_nullptr, I>;
8840
8841
template <typename Args>
8842
class scan_context_base {
8843
public:
8844
    /// Get argument at index `id`
8845
    constexpr auto arg(size_t id) const noexcept
8846
48.4k
    {
8847
48.4k
        return m_args.get(id);
8848
48.4k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8846
29.9k
    {
8847
29.9k
        return m_args.get(id);
8848
29.9k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8846
18.4k
    {
8847
18.4k
        return m_args.get(id);
8848
18.4k
    }
8849
8850
    constexpr const Args& args() const
8851
10.4k
    {
8852
10.4k
        return m_args;
8853
10.4k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Line
Count
Source
8851
5.77k
    {
8852
5.77k
        return m_args;
8853
5.77k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
Line
Count
Source
8851
4.66k
    {
8852
4.66k
        return m_args;
8853
4.66k
    }
8854
8855
    SCN_NODISCARD constexpr locale_ref locale() const
8856
42.8k
    {
8857
42.8k
        return m_locale;
8858
42.8k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8856
26.8k
    {
8857
26.8k
        return m_locale;
8858
26.8k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8856
15.9k
    {
8857
15.9k
        return m_locale;
8858
15.9k
    }
8859
8860
protected:
8861
    scan_context_base(Args args, locale_ref loc)
8862
149k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8863
149k
    {
8864
149k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8862
49.8k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8863
49.8k
    {
8864
49.8k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8862
99.7k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8863
99.7k
    {
8864
99.7k
    }
8865
8866
    Args m_args;
8867
    locale_ref m_locale;
8868
};
8869
}  // namespace detail
8870
8871
/**
8872
 * \defgroup ctx Contexts and scanners
8873
 *
8874
 * \brief Lower-level APIs used for scanning individual values
8875
 *
8876
 * \section user-defined Scanning user-defined types
8877
 *
8878
 * User-defined types can be scanned by specializing the class template
8879
 * `scn::scanner`.
8880
 *
8881
 * \code{.cpp}
8882
 * struct mytype {
8883
 *   int key;
8884
 *   std::string value;
8885
 * };
8886
 *
8887
 * template <>
8888
 * struct scn::scanner<mytype> {
8889
 *   template <typename ParseContext>
8890
 *   constexpr auto parse(ParseCtx& pctx)
8891
 *     -> typename ParseContext::iterator {
8892
 *     // parse() implementation just returning begin():
8893
 *     // only permits empty format specifiers
8894
 *     return pctx.begin();
8895
 *   }
8896
 *
8897
 *   template <typename Context>
8898
 *   auto scan(mytype& val, Context& ctx)
8899
 *     -> scan_expected<typename Context::iterator> {
8900
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8901
 *       .transform([&](auto result) {
8902
 *         std::tie(val.key, val.value) = std::move(result->values());
8903
 *         return result.begin();
8904
 *       });
8905
 *   }
8906
 * };
8907
 * \endcode
8908
 *
8909
 * See also
8910
 * \ref g-usertypes
8911
 */
8912
8913
/**
8914
 * Scanning context.
8915
 *
8916
 * \ingroup ctx
8917
 */
8918
template <typename Range, typename CharT>
8919
class basic_scan_context
8920
    : public detail::scan_context_base<
8921
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8922
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8923
8924
    using args_type = basic_scan_args<basic_scan_context>;
8925
    using arg_type = basic_scan_arg<basic_scan_context>;
8926
8927
public:
8928
    /// Character type of the input
8929
    using char_type = CharT;
8930
    using range_type = std::conditional_t<
8931
        std::is_same_v<Range, detail::buffer_range_tag>,
8932
        typename detail::basic_scan_buffer<char_type>::range_type,
8933
        Range>;
8934
    using iterator = ranges::iterator_t<range_type>;
8935
    using sentinel = ranges::sentinel_t<range_type>;
8936
    using parse_context_type = basic_scan_parse_context<char_type>;
8937
8938
    /**
8939
     * The scanner type associated with this scanning context.
8940
     */
8941
    template <typename T>
8942
    using scanner_type = scanner<T, char_type>;
8943
8944
    constexpr basic_scan_context(iterator curr,
8945
                                 args_type a,
8946
                                 detail::locale_ref loc = {})
8947
0
        : base(SCN_MOVE(a), loc), m_current(curr)
8948
0
    {
8949
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
8950
8951
    basic_scan_context(const basic_scan_context&) = delete;
8952
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8953
8954
    basic_scan_context(basic_scan_context&&) = default;
8955
    basic_scan_context& operator=(basic_scan_context&&) = default;
8956
    ~basic_scan_context() = default;
8957
8958
    /**
8959
     * Returns an iterator pointing to the current position in the source
8960
     * range.
8961
     */
8962
    constexpr iterator begin() const
8963
0
    {
8964
0
        return m_current;
8965
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
8966
8967
    /**
8968
     * Returns a sentinel pointing to the end of the source range.
8969
     */
8970
    constexpr sentinel end() const
8971
0
    {
8972
0
        return ranges::default_sentinel;
8973
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
8974
8975
    /**
8976
     * Returns a subrange over `[begin(), end())`
8977
     */
8978
    constexpr auto range() const
8979
0
    {
8980
0
        return ranges::subrange{begin(), end()};
8981
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
8982
8983
    /// Advances the beginning of the source range to `it`
8984
    void advance_to(iterator it)
8985
0
    {
8986
0
        m_current = SCN_MOVE(it);
8987
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
8988
8989
private:
8990
    iterator m_current;
8991
};
8992
8993
namespace detail {
8994
template <typename T, typename ParseCtx>
8995
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
8996
    ParseCtx& pctx,
8997
    format_specs& specs);
8998
8999
template <typename T, typename Context>
9000
scan_expected<typename Context::iterator>
9001
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9002
}  // namespace detail
9003
9004
/////////////////////////////////////////////////////////////////
9005
// scanner
9006
/////////////////////////////////////////////////////////////////
9007
9008
/**
9009
 * `scanner` specialization for all built-in types
9010
 *
9011
 * \ingroup ctx
9012
 */
9013
template <typename T, typename CharT>
9014
struct scanner<T,
9015
               CharT,
9016
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9017
                                    detail::arg_type::custom_type &&
9018
                                !detail::is_type_disabled<T>>> {
9019
    template <typename ParseCtx>
9020
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9021
    {
9022
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9023
    }
9024
9025
    template <typename Context>
9026
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9027
    {
9028
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9029
    }
9030
9031
private:
9032
    detail::format_specs m_specs;
9033
};
9034
9035
namespace detail {
9036
template <typename T, typename ParseCtx>
9037
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9038
    ParseCtx& pctx,
9039
    format_specs& specs)
9040
{
9041
    using char_type = typename ParseCtx::char_type;
9042
9043
    auto begin = pctx.begin();
9044
    const auto end = pctx.end();
9045
    if (begin == end) {
9046
        return begin;
9047
    }
9048
9049
    using handler_type = specs_setter;
9050
    const auto type = arg_type_constant<T, char_type>::value;
9051
    auto checker =
9052
        detail::specs_checker<handler_type>(handler_type(specs), type);
9053
9054
    const auto it =
9055
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9056
9057
    switch (type) {
9058
        case arg_type::none_type:
9059
            SCN_FALLTHROUGH;
9060
        case arg_type::custom_type:
9061
            SCN_ENSURE(false);
9062
            break;
9063
9064
        case arg_type::bool_type:
9065
            check_bool_type_specs(specs, checker);
9066
            break;
9067
9068
        case arg_type::schar_type:
9069
        case arg_type::short_type:
9070
        case arg_type::int_type:
9071
        case arg_type::long_type:
9072
        case arg_type::llong_type:
9073
        case arg_type::uchar_type:
9074
        case arg_type::ushort_type:
9075
        case arg_type::uint_type:
9076
        case arg_type::ulong_type:
9077
        case arg_type::ullong_type:
9078
            check_int_type_specs(specs, checker);
9079
            break;
9080
9081
        case arg_type::narrow_character_type:
9082
        case arg_type::wide_character_type:
9083
        case arg_type::code_point_type:
9084
            check_char_type_specs(specs, checker);
9085
            break;
9086
9087
        case arg_type::float_type:
9088
        case arg_type::double_type:
9089
        case arg_type::ldouble_type:
9090
            check_float_type_specs(specs, checker);
9091
            break;
9092
9093
        case arg_type::narrow_string_type:
9094
        case arg_type::narrow_string_view_type:
9095
        case arg_type::wide_string_type:
9096
        case arg_type::wide_string_view_type:
9097
            check_string_type_specs(specs, checker);
9098
            break;
9099
9100
        case arg_type::pointer_type:
9101
            check_pointer_type_specs(specs, checker);
9102
            break;
9103
9104
        case arg_type::narrow_regex_matches_type:
9105
        case arg_type::wide_regex_matches_type:
9106
            check_regex_type_specs(specs, checker);
9107
            break;
9108
9109
            SCN_CLANG_PUSH
9110
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9111
9112
        default:
9113
            SCN_ENSURE(false);
9114
            SCN_UNREACHABLE;
9115
9116
            SCN_CLANG_POP
9117
    }
9118
9119
    if (specs.type == presentation_type::regex ||
9120
        specs.type == presentation_type::regex_escaped) {
9121
        if (!pctx.is_source_contiguous()) {
9122
            SCN_UNLIKELY_ATTR
9123
            // clang-format off
9124
            checker.on_error("Cannot read a regex from a non-contiguous source");
9125
            // clang-format on
9126
        }
9127
        if (!pctx.is_source_borrowed()) {
9128
            SCN_UNLIKELY_ATTR
9129
            checker.on_error("Cannot read a regex from a non-borrowed source");
9130
        }
9131
    }
9132
9133
    return it;
9134
}
9135
}  // namespace detail
9136
9137
/**
9138
 * Type for discarding any scanned value.
9139
 * Example:
9140
 *
9141
 * \code{.cpp}
9142
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9143
 * // r.has_value() == true
9144
 * // decltype(r->value()) is scn::discard<int>
9145
 * \endcode
9146
 *
9147
 * \ingroup format-string
9148
 */
9149
template <typename T>
9150
struct discard {
9151
    constexpr discard() = default;
9152
9153
    constexpr discard(const T&) noexcept {}
9154
    constexpr discard(T&&) noexcept {}
9155
9156
    constexpr discard& operator=(const T&) noexcept
9157
    {
9158
        return *this;
9159
    }
9160
    constexpr discard& operator=(T&&) noexcept
9161
    {
9162
        return *this;
9163
    }
9164
};
9165
9166
template <typename T, typename CharT>
9167
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9168
    template <typename Context>
9169
    auto scan(discard<T>&, Context& ctx) const
9170
    {
9171
        T val{};
9172
        return scanner<T, CharT>::scan(val, ctx);
9173
    }
9174
};
9175
9176
namespace detail {
9177
template <typename Range>
9178
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9179
    Range r,
9180
    bool allow_exhaustion);
9181
9182
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9183
    extern template scan_expected<Context::iterator>         \
9184
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9185
9186
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9187
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9188
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9189
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9190
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9191
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9192
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9193
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9194
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9195
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9196
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9197
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9198
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9199
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9200
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9201
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9202
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9203
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9204
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9205
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9206
        std::basic_string_view<Context::char_type>, Context)               \
9207
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9208
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9209
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9210
    internal_skip_classic_whitespace(Context::range_type, bool);
9211
9212
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9213
9214
}  // namespace detail
9215
9216
/////////////////////////////////////////////////////////////////
9217
// visit_scan_arg
9218
/////////////////////////////////////////////////////////////////
9219
9220
namespace detail {
9221
9222
template <typename Visitor, typename Ctx>
9223
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9224
42.3k
{
9225
42.3k
#define SCN_VISIT(Type)                                                \
9226
466k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9227
466k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9228
466k
    }                                                                  \
9229
466k
    else {                                                             \
9230
466k
        return vis(monostate_val);                                     \
9231
466k
    }
9232
9233
42.3k
    monostate monostate_val{};
9234
9235
42.3k
    switch (get_arg_type(arg)) {
9236
0
        case detail::arg_type::schar_type:
9237
0
            SCN_VISIT(signed char);
9238
0
        case detail::arg_type::short_type:
9239
0
            SCN_VISIT(short);
9240
4.75k
        case detail::arg_type::int_type:
9241
4.75k
            SCN_VISIT(int);
9242
4.75k
        case detail::arg_type::long_type:
9243
4.75k
            SCN_VISIT(long);
9244
4.75k
        case detail::arg_type::llong_type:
9245
4.75k
            SCN_VISIT(long long);
9246
4.75k
        case detail::arg_type::uchar_type:
9247
4.75k
            SCN_VISIT(unsigned char);
9248
4.75k
        case detail::arg_type::ushort_type:
9249
4.75k
            SCN_VISIT(unsigned short);
9250
9.51k
        case detail::arg_type::uint_type:
9251
9.51k
            SCN_VISIT(unsigned);
9252
9.51k
        case detail::arg_type::ulong_type:
9253
9.51k
            SCN_VISIT(unsigned long);
9254
9.51k
        case detail::arg_type::ullong_type:
9255
9.51k
            SCN_VISIT(unsigned long long);
9256
14.1k
        case detail::arg_type::pointer_type:
9257
14.1k
            SCN_VISIT(void*);
9258
18.9k
        case detail::arg_type::bool_type:
9259
18.9k
            SCN_VISIT(bool);
9260
21.8k
        case detail::arg_type::narrow_character_type:
9261
21.8k
            SCN_VISIT(char);
9262
23.5k
        case detail::arg_type::wide_character_type:
9263
23.5k
            SCN_VISIT(wchar_t);
9264
23.5k
        case detail::arg_type::code_point_type:
9265
23.5k
            SCN_VISIT(char32_t);
9266
23.5k
        case detail::arg_type::float_type:
9267
23.5k
            SCN_VISIT(float);
9268
28.3k
        case detail::arg_type::double_type:
9269
28.3k
            SCN_VISIT(double);
9270
28.3k
        case detail::arg_type::ldouble_type:
9271
28.3k
            SCN_VISIT(long double);
9272
31.2k
        case detail::arg_type::narrow_string_view_type:
9273
31.2k
            SCN_VISIT(std::string_view);
9274
35.9k
        case detail::arg_type::narrow_string_type:
9275
35.9k
            SCN_VISIT(std::string);
9276
37.6k
        case detail::arg_type::wide_string_view_type:
9277
37.6k
            SCN_VISIT(std::wstring_view);
9278
42.3k
        case detail::arg_type::wide_string_type:
9279
42.3k
            SCN_VISIT(std::wstring);
9280
42.3k
        case detail::arg_type::narrow_regex_matches_type:
9281
42.3k
            SCN_VISIT(regex_matches);
9282
42.3k
        case detail::arg_type::wide_regex_matches_type:
9283
42.3k
            SCN_VISIT(wregex_matches);
9284
9285
42.3k
        case detail::arg_type::custom_type:
9286
42.3k
#if !SCN_DISABLE_TYPE_CUSTOM
9287
42.3k
            return vis(typename basic_scan_arg<Ctx>::handle(
9288
42.3k
                get_arg_value(arg).custom_value));
9289
#else
9290
            return vis(monostate_val);
9291
#endif
9292
9293
0
            SCN_CLANG_PUSH
9294
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9295
9296
0
            SCN_UNLIKELY_ATTR
9297
0
        case detail::arg_type::none_type:
9298
0
        default: {
9299
0
            return vis(monostate_val);
9300
0
        }
9301
9302
42.3k
            SCN_CLANG_POP
9303
42.3k
    }
9304
9305
0
#undef SCN_VISIT
9306
9307
0
    SCN_ENSURE(false);
9308
0
    SCN_UNREACHABLE;
9309
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9224
5.67k
{
9225
5.67k
#define SCN_VISIT(Type)                                                \
9226
5.67k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9227
5.67k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9228
5.67k
    }                                                                  \
9229
5.67k
    else {                                                             \
9230
5.67k
        return vis(monostate_val);                                     \
9231
5.67k
    }
9232
9233
5.67k
    monostate monostate_val{};
9234
9235
5.67k
    switch (get_arg_type(arg)) {
9236
0
        case detail::arg_type::schar_type:
9237
0
            SCN_VISIT(signed char);
9238
0
        case detail::arg_type::short_type:
9239
0
            SCN_VISIT(short);
9240
630
        case detail::arg_type::int_type:
9241
630
            SCN_VISIT(int);
9242
630
        case detail::arg_type::long_type:
9243
630
            SCN_VISIT(long);
9244
630
        case detail::arg_type::llong_type:
9245
630
            SCN_VISIT(long long);
9246
630
        case detail::arg_type::uchar_type:
9247
630
            SCN_VISIT(unsigned char);
9248
630
        case detail::arg_type::ushort_type:
9249
630
            SCN_VISIT(unsigned short);
9250
1.26k
        case detail::arg_type::uint_type:
9251
1.26k
            SCN_VISIT(unsigned);
9252
1.26k
        case detail::arg_type::ulong_type:
9253
1.26k
            SCN_VISIT(unsigned long);
9254
1.26k
        case detail::arg_type::ullong_type:
9255
1.26k
            SCN_VISIT(unsigned long long);
9256
1.89k
        case detail::arg_type::pointer_type:
9257
1.89k
            SCN_VISIT(void*);
9258
2.52k
        case detail::arg_type::bool_type:
9259
2.52k
            SCN_VISIT(bool);
9260
3.15k
        case detail::arg_type::narrow_character_type:
9261
3.15k
            SCN_VISIT(char);
9262
3.15k
        case detail::arg_type::wide_character_type:
9263
3.15k
            SCN_VISIT(wchar_t);
9264
3.15k
        case detail::arg_type::code_point_type:
9265
3.15k
            SCN_VISIT(char32_t);
9266
3.15k
        case detail::arg_type::float_type:
9267
3.15k
            SCN_VISIT(float);
9268
3.78k
        case detail::arg_type::double_type:
9269
3.78k
            SCN_VISIT(double);
9270
3.78k
        case detail::arg_type::ldouble_type:
9271
3.78k
            SCN_VISIT(long double);
9272
4.41k
        case detail::arg_type::narrow_string_view_type:
9273
4.41k
            SCN_VISIT(std::string_view);
9274
5.04k
        case detail::arg_type::narrow_string_type:
9275
5.04k
            SCN_VISIT(std::string);
9276
5.04k
        case detail::arg_type::wide_string_view_type:
9277
5.04k
            SCN_VISIT(std::wstring_view);
9278
5.67k
        case detail::arg_type::wide_string_type:
9279
5.67k
            SCN_VISIT(std::wstring);
9280
5.67k
        case detail::arg_type::narrow_regex_matches_type:
9281
5.67k
            SCN_VISIT(regex_matches);
9282
5.67k
        case detail::arg_type::wide_regex_matches_type:
9283
5.67k
            SCN_VISIT(wregex_matches);
9284
9285
5.67k
        case detail::arg_type::custom_type:
9286
5.67k
#if !SCN_DISABLE_TYPE_CUSTOM
9287
5.67k
            return vis(typename basic_scan_arg<Ctx>::handle(
9288
5.67k
                get_arg_value(arg).custom_value));
9289
#else
9290
            return vis(monostate_val);
9291
#endif
9292
9293
0
            SCN_CLANG_PUSH
9294
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9295
9296
0
            SCN_UNLIKELY_ATTR
9297
0
        case detail::arg_type::none_type:
9298
0
        default: {
9299
0
            return vis(monostate_val);
9300
0
        }
9301
9302
5.67k
            SCN_CLANG_POP
9303
5.67k
    }
9304
9305
0
#undef SCN_VISIT
9306
9307
0
    SCN_ENSURE(false);
9308
0
    SCN_UNREACHABLE;
9309
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9224
20.9k
{
9225
20.9k
#define SCN_VISIT(Type)                                                \
9226
20.9k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9227
20.9k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9228
20.9k
    }                                                                  \
9229
20.9k
    else {                                                             \
9230
20.9k
        return vis(monostate_val);                                     \
9231
20.9k
    }
9232
9233
20.9k
    monostate monostate_val{};
9234
9235
20.9k
    switch (get_arg_type(arg)) {
9236
0
        case detail::arg_type::schar_type:
9237
0
            SCN_VISIT(signed char);
9238
0
        case detail::arg_type::short_type:
9239
0
            SCN_VISIT(short);
9240
2.35k
        case detail::arg_type::int_type:
9241
2.35k
            SCN_VISIT(int);
9242
2.35k
        case detail::arg_type::long_type:
9243
2.35k
            SCN_VISIT(long);
9244
2.35k
        case detail::arg_type::llong_type:
9245
2.35k
            SCN_VISIT(long long);
9246
2.35k
        case detail::arg_type::uchar_type:
9247
2.35k
            SCN_VISIT(unsigned char);
9248
2.35k
        case detail::arg_type::ushort_type:
9249
2.35k
            SCN_VISIT(unsigned short);
9250
4.70k
        case detail::arg_type::uint_type:
9251
4.70k
            SCN_VISIT(unsigned);
9252
4.70k
        case detail::arg_type::ulong_type:
9253
4.70k
            SCN_VISIT(unsigned long);
9254
4.70k
        case detail::arg_type::ullong_type:
9255
4.70k
            SCN_VISIT(unsigned long long);
9256
7.02k
        case detail::arg_type::pointer_type:
9257
7.02k
            SCN_VISIT(void*);
9258
9.37k
        case detail::arg_type::bool_type:
9259
9.37k
            SCN_VISIT(bool);
9260
11.6k
        case detail::arg_type::narrow_character_type:
9261
11.6k
            SCN_VISIT(char);
9262
11.6k
        case detail::arg_type::wide_character_type:
9263
11.6k
            SCN_VISIT(wchar_t);
9264
11.6k
        case detail::arg_type::code_point_type:
9265
11.6k
            SCN_VISIT(char32_t);
9266
11.6k
        case detail::arg_type::float_type:
9267
11.6k
            SCN_VISIT(float);
9268
14.0k
        case detail::arg_type::double_type:
9269
14.0k
            SCN_VISIT(double);
9270
14.0k
        case detail::arg_type::ldouble_type:
9271
14.0k
            SCN_VISIT(long double);
9272
16.3k
        case detail::arg_type::narrow_string_view_type:
9273
16.3k
            SCN_VISIT(std::string_view);
9274
18.6k
        case detail::arg_type::narrow_string_type:
9275
18.6k
            SCN_VISIT(std::string);
9276
18.6k
        case detail::arg_type::wide_string_view_type:
9277
18.6k
            SCN_VISIT(std::wstring_view);
9278
20.9k
        case detail::arg_type::wide_string_type:
9279
20.9k
            SCN_VISIT(std::wstring);
9280
20.9k
        case detail::arg_type::narrow_regex_matches_type:
9281
20.9k
            SCN_VISIT(regex_matches);
9282
20.9k
        case detail::arg_type::wide_regex_matches_type:
9283
20.9k
            SCN_VISIT(wregex_matches);
9284
9285
20.9k
        case detail::arg_type::custom_type:
9286
20.9k
#if !SCN_DISABLE_TYPE_CUSTOM
9287
20.9k
            return vis(typename basic_scan_arg<Ctx>::handle(
9288
20.9k
                get_arg_value(arg).custom_value));
9289
#else
9290
            return vis(monostate_val);
9291
#endif
9292
9293
0
            SCN_CLANG_PUSH
9294
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9295
9296
0
            SCN_UNLIKELY_ATTR
9297
0
        case detail::arg_type::none_type:
9298
0
        default: {
9299
0
            return vis(monostate_val);
9300
0
        }
9301
9302
20.9k
            SCN_CLANG_POP
9303
20.9k
    }
9304
9305
0
#undef SCN_VISIT
9306
9307
0
    SCN_ENSURE(false);
9308
0
    SCN_UNREACHABLE;
9309
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9224
4.51k
{
9225
4.51k
#define SCN_VISIT(Type)                                                \
9226
4.51k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9227
4.51k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9228
4.51k
    }                                                                  \
9229
4.51k
    else {                                                             \
9230
4.51k
        return vis(monostate_val);                                     \
9231
4.51k
    }
9232
9233
4.51k
    monostate monostate_val{};
9234
9235
4.51k
    switch (get_arg_type(arg)) {
9236
0
        case detail::arg_type::schar_type:
9237
0
            SCN_VISIT(signed char);
9238
0
        case detail::arg_type::short_type:
9239
0
            SCN_VISIT(short);
9240
502
        case detail::arg_type::int_type:
9241
502
            SCN_VISIT(int);
9242
502
        case detail::arg_type::long_type:
9243
502
            SCN_VISIT(long);
9244
502
        case detail::arg_type::llong_type:
9245
502
            SCN_VISIT(long long);
9246
502
        case detail::arg_type::uchar_type:
9247
502
            SCN_VISIT(unsigned char);
9248
502
        case detail::arg_type::ushort_type:
9249
502
            SCN_VISIT(unsigned short);
9250
1.00k
        case detail::arg_type::uint_type:
9251
1.00k
            SCN_VISIT(unsigned);
9252
1.00k
        case detail::arg_type::ulong_type:
9253
1.00k
            SCN_VISIT(unsigned long);
9254
1.00k
        case detail::arg_type::ullong_type:
9255
1.00k
            SCN_VISIT(unsigned long long);
9256
1.50k
        case detail::arg_type::pointer_type:
9257
1.50k
            SCN_VISIT(void*);
9258
2.00k
        case detail::arg_type::bool_type:
9259
2.00k
            SCN_VISIT(bool);
9260
2.00k
        case detail::arg_type::narrow_character_type:
9261
2.00k
            SCN_VISIT(char);
9262
2.51k
        case detail::arg_type::wide_character_type:
9263
2.51k
            SCN_VISIT(wchar_t);
9264
2.51k
        case detail::arg_type::code_point_type:
9265
2.51k
            SCN_VISIT(char32_t);
9266
2.51k
        case detail::arg_type::float_type:
9267
2.51k
            SCN_VISIT(float);
9268
3.01k
        case detail::arg_type::double_type:
9269
3.01k
            SCN_VISIT(double);
9270
3.01k
        case detail::arg_type::ldouble_type:
9271
3.01k
            SCN_VISIT(long double);
9272
3.01k
        case detail::arg_type::narrow_string_view_type:
9273
3.01k
            SCN_VISIT(std::string_view);
9274
3.51k
        case detail::arg_type::narrow_string_type:
9275
3.51k
            SCN_VISIT(std::string);
9276
4.01k
        case detail::arg_type::wide_string_view_type:
9277
4.01k
            SCN_VISIT(std::wstring_view);
9278
4.51k
        case detail::arg_type::wide_string_type:
9279
4.51k
            SCN_VISIT(std::wstring);
9280
4.51k
        case detail::arg_type::narrow_regex_matches_type:
9281
4.51k
            SCN_VISIT(regex_matches);
9282
4.51k
        case detail::arg_type::wide_regex_matches_type:
9283
4.51k
            SCN_VISIT(wregex_matches);
9284
9285
4.51k
        case detail::arg_type::custom_type:
9286
4.51k
#if !SCN_DISABLE_TYPE_CUSTOM
9287
4.51k
            return vis(typename basic_scan_arg<Ctx>::handle(
9288
4.51k
                get_arg_value(arg).custom_value));
9289
#else
9290
            return vis(monostate_val);
9291
#endif
9292
9293
0
            SCN_CLANG_PUSH
9294
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9295
9296
0
            SCN_UNLIKELY_ATTR
9297
0
        case detail::arg_type::none_type:
9298
0
        default: {
9299
0
            return vis(monostate_val);
9300
0
        }
9301
9302
4.51k
            SCN_CLANG_POP
9303
4.51k
    }
9304
9305
0
#undef SCN_VISIT
9306
9307
0
    SCN_ENSURE(false);
9308
0
    SCN_UNREACHABLE;
9309
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9224
11.1k
{
9225
11.1k
#define SCN_VISIT(Type)                                                \
9226
11.1k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9227
11.1k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9228
11.1k
    }                                                                  \
9229
11.1k
    else {                                                             \
9230
11.1k
        return vis(monostate_val);                                     \
9231
11.1k
    }
9232
9233
11.1k
    monostate monostate_val{};
9234
9235
11.1k
    switch (get_arg_type(arg)) {
9236
0
        case detail::arg_type::schar_type:
9237
0
            SCN_VISIT(signed char);
9238
0
        case detail::arg_type::short_type:
9239
0
            SCN_VISIT(short);
9240
1.27k
        case detail::arg_type::int_type:
9241
1.27k
            SCN_VISIT(int);
9242
1.27k
        case detail::arg_type::long_type:
9243
1.27k
            SCN_VISIT(long);
9244
1.27k
        case detail::arg_type::llong_type:
9245
1.27k
            SCN_VISIT(long long);
9246
1.27k
        case detail::arg_type::uchar_type:
9247
1.27k
            SCN_VISIT(unsigned char);
9248
1.27k
        case detail::arg_type::ushort_type:
9249
1.27k
            SCN_VISIT(unsigned short);
9250
2.54k
        case detail::arg_type::uint_type:
9251
2.54k
            SCN_VISIT(unsigned);
9252
2.54k
        case detail::arg_type::ulong_type:
9253
2.54k
            SCN_VISIT(unsigned long);
9254
2.54k
        case detail::arg_type::ullong_type:
9255
2.54k
            SCN_VISIT(unsigned long long);
9256
3.75k
        case detail::arg_type::pointer_type:
9257
3.75k
            SCN_VISIT(void*);
9258
5.02k
        case detail::arg_type::bool_type:
9259
5.02k
            SCN_VISIT(bool);
9260
5.02k
        case detail::arg_type::narrow_character_type:
9261
5.02k
            SCN_VISIT(char);
9262
6.23k
        case detail::arg_type::wide_character_type:
9263
6.23k
            SCN_VISIT(wchar_t);
9264
6.23k
        case detail::arg_type::code_point_type:
9265
6.23k
            SCN_VISIT(char32_t);
9266
6.23k
        case detail::arg_type::float_type:
9267
6.23k
            SCN_VISIT(float);
9268
7.50k
        case detail::arg_type::double_type:
9269
7.50k
            SCN_VISIT(double);
9270
7.50k
        case detail::arg_type::ldouble_type:
9271
7.50k
            SCN_VISIT(long double);
9272
7.50k
        case detail::arg_type::narrow_string_view_type:
9273
7.50k
            SCN_VISIT(std::string_view);
9274
8.71k
        case detail::arg_type::narrow_string_type:
9275
8.71k
            SCN_VISIT(std::string);
9276
9.92k
        case detail::arg_type::wide_string_view_type:
9277
9.92k
            SCN_VISIT(std::wstring_view);
9278
11.1k
        case detail::arg_type::wide_string_type:
9279
11.1k
            SCN_VISIT(std::wstring);
9280
11.1k
        case detail::arg_type::narrow_regex_matches_type:
9281
11.1k
            SCN_VISIT(regex_matches);
9282
11.1k
        case detail::arg_type::wide_regex_matches_type:
9283
11.1k
            SCN_VISIT(wregex_matches);
9284
9285
11.1k
        case detail::arg_type::custom_type:
9286
11.1k
#if !SCN_DISABLE_TYPE_CUSTOM
9287
11.1k
            return vis(typename basic_scan_arg<Ctx>::handle(
9288
11.1k
                get_arg_value(arg).custom_value));
9289
#else
9290
            return vis(monostate_val);
9291
#endif
9292
9293
0
            SCN_CLANG_PUSH
9294
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9295
9296
0
            SCN_UNLIKELY_ATTR
9297
0
        case detail::arg_type::none_type:
9298
0
        default: {
9299
0
            return vis(monostate_val);
9300
0
        }
9301
9302
11.1k
            SCN_CLANG_POP
9303
11.1k
    }
9304
9305
0
#undef SCN_VISIT
9306
9307
0
    SCN_ENSURE(false);
9308
0
    SCN_UNREACHABLE;
9309
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
9310
9311
}  // namespace detail
9312
9313
template <typename Visitor, typename Ctx>
9314
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9315
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9316
{
9317
    return detail::visit_impl(SCN_FWD(vis), arg);
9318
}
9319
9320
template <typename Context>
9321
template <typename Visitor>
9322
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9323
42.3k
{
9324
42.3k
    return detail::visit_impl(SCN_FWD(vis), *this);
9325
42.3k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9323
5.67k
{
9324
5.67k
    return detail::visit_impl(SCN_FWD(vis), *this);
9325
5.67k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9323
20.9k
{
9324
20.9k
    return detail::visit_impl(SCN_FWD(vis), *this);
9325
20.9k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9323
4.51k
{
9324
4.51k
    return detail::visit_impl(SCN_FWD(vis), *this);
9325
4.51k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9323
11.1k
{
9324
11.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9325
11.1k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
9326
9327
template <typename Context>
9328
template <typename R, typename Visitor>
9329
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9330
{
9331
    return detail::visit_impl(SCN_FWD(vis), *this);
9332
}
9333
9334
/////////////////////////////////////////////////////////////////
9335
// vscan
9336
/////////////////////////////////////////////////////////////////
9337
9338
/**
9339
 * \defgroup vscan Type-erased scanning API
9340
 *
9341
 * \brief Lower-level scanning API with type-erased arguments
9342
 */
9343
9344
namespace detail {
9345
template <typename Source>
9346
using scan_result_value_type =
9347
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9348
                       std::FILE*,
9349
                       borrowed_tail_subrange_t<Source>>;
9350
}
9351
9352
/**
9353
 * Result type returned by `vscan`.
9354
 *
9355
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9356
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9357
 *
9358
 * \ingroup vscan
9359
 */
9360
template <typename Source>
9361
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9362
9363
namespace detail {
9364
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9365
                                         std::string_view format,
9366
                                         scan_args args);
9367
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9368
                                         std::string_view format,
9369
                                         scan_args args);
9370
9371
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9372
                                         std::wstring_view format,
9373
                                         wscan_args args);
9374
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9375
                                         std::wstring_view format,
9376
                                         wscan_args args);
9377
9378
#if !SCN_DISABLE_LOCALE
9379
template <typename Locale>
9380
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9381
                                                   std::string_view source,
9382
                                                   std::string_view format,
9383
                                                   scan_args args);
9384
template <typename Locale>
9385
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9386
                                                   scan_buffer& source,
9387
                                                   std::string_view format,
9388
                                                   scan_args args);
9389
9390
template <typename Locale>
9391
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9392
                                                   std::wstring_view source,
9393
                                                   std::wstring_view format,
9394
                                                   wscan_args args);
9395
template <typename Locale>
9396
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9397
                                                   wscan_buffer& source,
9398
                                                   std::wstring_view format,
9399
                                                   wscan_args args);
9400
#endif
9401
9402
scan_expected<std::ptrdiff_t> vscan_value_impl(
9403
    std::string_view source,
9404
    basic_scan_arg<scan_context> arg);
9405
scan_expected<std::ptrdiff_t> vscan_value_impl(
9406
    scan_buffer& source,
9407
    basic_scan_arg<scan_context> arg);
9408
9409
scan_expected<std::ptrdiff_t> vscan_value_impl(
9410
    std::wstring_view source,
9411
    basic_scan_arg<wscan_context> arg);
9412
scan_expected<std::ptrdiff_t> vscan_value_impl(
9413
    wscan_buffer& source,
9414
    basic_scan_arg<wscan_context> arg);
9415
9416
template <typename Range, typename CharT>
9417
auto vscan_generic(Range&& range,
9418
                   std::basic_string_view<CharT> format,
9419
                   basic_scan_args<detail::default_context<CharT>> args)
9420
    -> vscan_result<Range>
9421
74.8k
{
9422
74.8k
    auto buffer = make_scan_buffer(range);
9423
9424
74.8k
    auto result = vscan_impl(buffer, format, args);
9425
74.8k
    if (SCN_UNLIKELY(!result)) {
9426
72.7k
        return unexpected(result.error());
9427
72.7k
    }
9428
2.11k
    return make_vscan_result_range(SCN_FWD(range), *result);
9429
74.8k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9421
24.9k
{
9422
24.9k
    auto buffer = make_scan_buffer(range);
9423
9424
24.9k
    auto result = vscan_impl(buffer, format, args);
9425
24.9k
    if (SCN_UNLIKELY(!result)) {
9426
23.8k
        return unexpected(result.error());
9427
23.8k
    }
9428
1.10k
    return make_vscan_result_range(SCN_FWD(range), *result);
9429
24.9k
}
_ZN3scn2v46detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESN_EEEE
Line
Count
Source
9421
49.8k
{
9422
49.8k
    auto buffer = make_scan_buffer(range);
9423
9424
49.8k
    auto result = vscan_impl(buffer, format, args);
9425
49.8k
    if (SCN_UNLIKELY(!result)) {
9426
48.8k
        return unexpected(result.error());
9427
48.8k
    }
9428
1.01k
    return make_vscan_result_range(SCN_FWD(range), *result);
9429
49.8k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
9430
9431
template <typename Locale, typename Range, typename CharT>
9432
auto vscan_localized_generic(
9433
    const Locale& loc,
9434
    Range&& range,
9435
    std::basic_string_view<CharT> format,
9436
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9437
74.8k
{
9438
74.8k
#if !SCN_DISABLE_LOCALE
9439
74.8k
    auto buffer = detail::make_scan_buffer(range);
9440
9441
74.8k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9442
74.8k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9443
74.8k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9444
9445
74.8k
    if (SCN_UNLIKELY(!result)) {
9446
72.7k
        return unexpected(result.error());
9447
72.7k
    }
9448
2.11k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9449
#else
9450
    static_assert(dependent_false<Locale>::value,
9451
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9452
9453
    return {};
9454
#endif
9455
74.8k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9437
24.9k
{
9438
24.9k
#if !SCN_DISABLE_LOCALE
9439
24.9k
    auto buffer = detail::make_scan_buffer(range);
9440
9441
24.9k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9442
24.9k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9443
24.9k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9444
9445
24.9k
    if (SCN_UNLIKELY(!result)) {
9446
23.8k
        return unexpected(result.error());
9447
23.8k
    }
9448
1.10k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9449
#else
9450
    static_assert(dependent_false<Locale>::value,
9451
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9452
9453
    return {};
9454
#endif
9455
24.9k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESR_EEEE
Line
Count
Source
9437
49.8k
{
9438
49.8k
#if !SCN_DISABLE_LOCALE
9439
49.8k
    auto buffer = detail::make_scan_buffer(range);
9440
9441
49.8k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9442
49.8k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9443
49.8k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9444
9445
49.8k
    if (SCN_UNLIKELY(!result)) {
9446
48.8k
        return unexpected(result.error());
9447
48.8k
    }
9448
1.01k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9449
#else
9450
    static_assert(dependent_false<Locale>::value,
9451
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9452
9453
    return {};
9454
#endif
9455
49.8k
}
9456
9457
template <typename Range, typename CharT>
9458
auto vscan_value_generic(Range&& range,
9459
                         basic_scan_arg<detail::default_context<CharT>> arg)
9460
    -> vscan_result<Range>
9461
{
9462
    auto buffer = detail::make_scan_buffer(range);
9463
9464
    auto result = detail::vscan_value_impl(buffer, arg);
9465
    if (SCN_UNLIKELY(!result)) {
9466
        return unexpected(result.error());
9467
    }
9468
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9469
}
9470
}  // namespace detail
9471
9472
SCN_GCC_PUSH
9473
SCN_GCC_IGNORE("-Wnoexcept")
9474
9475
/**
9476
 * Perform actual scanning from `source`, according to `format`, into the
9477
 * type-erased arguments at `args`. Called by `scan`.
9478
 *
9479
 * \ingroup vscan
9480
 */
9481
template <typename Source>
9482
auto vscan(Source&& source, std::string_view format, scan_args args)
9483
    -> vscan_result<Source>
9484
24.9k
{
9485
24.9k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9486
24.9k
}
_ZN3scn2v45vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextINSF_16buffer_range_tagEcEEEE
Line
Count
Source
9484
24.9k
{
9485
24.9k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9486
24.9k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9487
9488
/**
9489
 * Perform actual scanning from `source`, according to `format`, into the
9490
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9491
 * `scan`.
9492
 *
9493
 * \ingroup locale
9494
 */
9495
template <typename Source,
9496
          typename Locale,
9497
          typename = std::void_t<decltype(Locale::classic())>>
9498
auto vscan(const Locale& loc,
9499
           Source&& source,
9500
           std::string_view format,
9501
           scan_args args) -> vscan_result<Source>
9502
24.9k
{
9503
24.9k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9504
24.9k
}
9505
9506
/**
9507
 * Perform actual scanning from `source` into the type-erased argument at
9508
 * `arg`. Called by `scan_value`.
9509
 *
9510
 * \ingroup vscan
9511
 */
9512
template <typename Source>
9513
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9514
    -> vscan_result<Source>
9515
{
9516
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9517
}
9518
9519
/**
9520
 * Perform actual scanning from `stdin`, according to `format`, into the
9521
 * type-erased arguments at `args`. Called by `input`.
9522
 *
9523
 * \ingroup vscan
9524
 */
9525
scan_expected<void> vinput(std::string_view format, scan_args args);
9526
9527
namespace detail {
9528
template <typename T>
9529
auto scan_int_impl(std::string_view source, T& value, int base)
9530
    -> scan_expected<std::string_view::iterator>;
9531
9532
template <typename T>
9533
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9534
9535
#if !SCN_DISABLE_TYPE_SCHAR
9536
extern template auto scan_int_impl(std::string_view source,
9537
                                   signed char& value,
9538
                                   int base)
9539
    -> scan_expected<std::string_view::iterator>;
9540
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9541
    -> signed char;
9542
#endif
9543
#if !SCN_DISABLE_TYPE_SHORT
9544
extern template auto scan_int_impl(std::string_view source,
9545
                                   short& value,
9546
                                   int base)
9547
    -> scan_expected<std::string_view::iterator>;
9548
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9549
#endif
9550
#if !SCN_DISABLE_TYPE_INT
9551
extern template auto scan_int_impl(std::string_view source,
9552
                                   int& value,
9553
                                   int base)
9554
    -> scan_expected<std::string_view::iterator>;
9555
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9556
#endif
9557
#if !SCN_DISABLE_TYPE_LONG
9558
extern template auto scan_int_impl(std::string_view source,
9559
                                   long& value,
9560
                                   int base)
9561
    -> scan_expected<std::string_view::iterator>;
9562
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9563
#endif
9564
#if !SCN_DISABLE_TYPE_LONG_LONG
9565
extern template auto scan_int_impl(std::string_view source,
9566
                                   long long& value,
9567
                                   int base)
9568
    -> scan_expected<std::string_view::iterator>;
9569
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9570
    -> long long;
9571
#endif
9572
#if !SCN_DISABLE_TYPE_UCHAR
9573
extern template auto scan_int_impl(std::string_view source,
9574
                                   unsigned char& value,
9575
                                   int base)
9576
    -> scan_expected<std::string_view::iterator>;
9577
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9578
    -> unsigned char;
9579
#endif
9580
#if !SCN_DISABLE_TYPE_USHORT
9581
extern template auto scan_int_impl(std::string_view source,
9582
                                   unsigned short& value,
9583
                                   int base)
9584
    -> scan_expected<std::string_view::iterator>;
9585
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9586
    -> unsigned short;
9587
#endif
9588
#if !SCN_DISABLE_TYPE_UINT
9589
extern template auto scan_int_impl(std::string_view source,
9590
                                   unsigned int& value,
9591
                                   int base)
9592
    -> scan_expected<std::string_view::iterator>;
9593
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9594
    -> unsigned int;
9595
#endif
9596
#if !SCN_DISABLE_TYPE_ULONG
9597
extern template auto scan_int_impl(std::string_view source,
9598
                                   unsigned long& value,
9599
                                   int base)
9600
    -> scan_expected<std::string_view::iterator>;
9601
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9602
    -> unsigned long;
9603
#endif
9604
#if !SCN_DISABLE_TYPE_ULONG_LONG
9605
extern template auto scan_int_impl(std::string_view source,
9606
                                   unsigned long long& value,
9607
                                   int base)
9608
    -> scan_expected<std::string_view::iterator>;
9609
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9610
    -> unsigned long long;
9611
#endif
9612
9613
}  // namespace detail
9614
9615
SCN_GCC_POP  // -Wnoexcept
9616
9617
    // dummy namespace to reset formatting
9618
    namespace detail
9619
{
9620
}
9621
9622
/////////////////////////////////////////////////////////////////
9623
// scan
9624
/////////////////////////////////////////////////////////////////
9625
9626
/**
9627
 * The return type of `scan`, based on the type of the source, and the
9628
 * types of the scanned arguments.
9629
 */
9630
template <typename Source, typename... Args>
9631
using scan_result_type =
9632
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9633
9634
/**
9635
 * If `in` contains a successful result as returned from `vscan`,
9636
 * the range contained in `out` is set to `*in`.
9637
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9638
 */
9639
template <typename Result,
9640
          typename Range,
9641
          std::enable_if_t<std::conjunction_v<
9642
              detail::is_specialization_of<Result, scan_result>,
9643
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9644
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9645
149k
{
9646
149k
    if (SCN_UNLIKELY(!in)) {
9647
145k
        out = unexpected(in.error());
9648
145k
    }
9649
4.23k
    else {
9650
4.23k
        out->set_range(SCN_MOVE(*in));
9651
4.23k
    }
9652
149k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJcEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.27k
        out = unexpected(in.error());
9648
5.27k
    }
9649
270
    else {
9650
270
        out->set_range(SCN_MOVE(*in));
9651
270
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.54k
        out = unexpected(in.error());
9648
5.54k
    }
9649
0
    else {
9650
0
        out->set_range(SCN_MOVE(*in));
9651
0
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.54k
        out = unexpected(in.error());
9648
5.54k
    }
9649
0
    else {
9650
0
        out->set_range(SCN_MOVE(*in));
9651
0
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.54k
        out = unexpected(in.error());
9648
5.54k
    }
9649
0
    else {
9650
0
        out->set_range(SCN_MOVE(*in));
9651
0
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.54k
        out = unexpected(in.error());
9648
5.54k
    }
9649
0
    else {
9650
0
        out->set_range(SCN_MOVE(*in));
9651
0
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
5.54k
        out = unexpected(in.error());
9648
5.54k
    }
9649
0
    else {
9650
0
        out->set_range(SCN_MOVE(*in));
9651
0
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
4.89k
        out = unexpected(in.error());
9648
4.89k
    }
9649
646
    else {
9650
646
        out->set_range(SCN_MOVE(*in));
9651
646
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
4.89k
        out = unexpected(in.error());
9648
4.89k
    }
9649
646
    else {
9650
646
        out->set_range(SCN_MOVE(*in));
9651
646
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9645
5.54k
{
9646
5.54k
    if (SCN_UNLIKELY(!in)) {
9647
4.89k
        out = unexpected(in.error());
9648
4.89k
    }
9649
646
    else {
9650
646
        out->set_range(SCN_MOVE(*in));
9651
646
    }
9652
5.54k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJwEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
10.8k
        out = unexpected(in.error());
9648
10.8k
    }
9649
246
    else {
9650
246
        out->set_range(SCN_MOVE(*in));
9651
246
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
11.0k
        out = unexpected(in.error());
9648
11.0k
    }
9649
42
    else {
9650
42
        out->set_range(SCN_MOVE(*in));
9651
42
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
11.0k
        out = unexpected(in.error());
9648
11.0k
    }
9649
42
    else {
9650
42
        out->set_range(SCN_MOVE(*in));
9651
42
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJdEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
11.0k
        out = unexpected(in.error());
9648
11.0k
    }
9649
42
    else {
9650
42
        out->set_range(SCN_MOVE(*in));
9651
42
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJbEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
11.0k
        out = unexpected(in.error());
9648
11.0k
    }
9649
42
    else {
9650
42
        out->set_range(SCN_MOVE(*in));
9651
42
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJPvEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSC_7is_sameINSG_10range_typeET0_EEEEvE4typeELSA_0EEEvRNS0_13scan_expectedISG_EEONSR_ISM_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
11.0k
        out = unexpected(in.error());
9648
11.0k
    }
9649
18
    else {
9650
18
        out->set_range(SCN_MOVE(*in));
9651
18
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
10.5k
        out = unexpected(in.error());
9648
10.5k
    }
9649
532
    else {
9650
532
        out->set_range(SCN_MOVE(*in));
9651
532
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIwNSA_11char_traitsIwEENSA_9allocatorIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
10.5k
        out = unexpected(in.error());
9648
10.5k
    }
9649
532
    else {
9650
532
        out->set_range(SCN_MOVE(*in));
9651
532
    }
9652
11.0k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSJ_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISJ_EEONSV_ISP_EE
Line
Count
Source
9645
11.0k
{
9646
11.0k
    if (SCN_UNLIKELY(!in)) {
9647
10.5k
        out = unexpected(in.error());
9648
10.5k
    }
9649
532
    else {
9650
532
        out->set_range(SCN_MOVE(*in));
9651
532
    }
9652
11.0k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
9653
9654
/**
9655
 * Returns an empty result type for a source of type `Source`, and arguments of
9656
 * type `Args...`.
9657
 */
9658
template <typename Source, typename... Args>
9659
auto make_scan_result()
9660
149k
{
9661
149k
    return scan_result_type<Source, Args...>();
9662
149k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
9660
5.54k
{
9661
5.54k
    return scan_result_type<Source, Args...>();
9662
5.54k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
auto scn::v4::make_scan_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
9660
11.0k
{
9661
11.0k
    return scan_result_type<Source, Args...>();
9662
11.0k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9663
9664
template <typename Source, typename... Args>
9665
auto make_scan_result(std::tuple<Args...>&& initial_values)
9666
{
9667
    using type = scan_result_type<Source, Args...>;
9668
    using subrange_type = typename type::value_type::range_type;
9669
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9670
}
9671
9672
/**
9673
 * \defgroup scan Basic scanning API
9674
 *
9675
 * \brief The core public-facing interface of the library
9676
 *
9677
 * The following functions use a format string syntax similar to that of
9678
 * `std::format`. See more at \ref format-string.
9679
 *
9680
 * When these functions take a `source` as input, it must
9681
 * model the `scannable_source` concept. See more at \ref scannable.
9682
 */
9683
9684
/**
9685
 * Scans `Args...` from `source`, according to the
9686
 * specifications given in the format string (`format`).
9687
 * Returns the resulting values in an object of type `scan_result`,
9688
 * alongside a `subrange` pointing to the unused input.
9689
 *
9690
 * Example:
9691
 * \code{.cpp}
9692
 * if (auto result = scn::scan<int>("123", "{}"))
9693
 *     int value = result->value();
9694
 * \endcode
9695
 *
9696
 * \ingroup scan
9697
 */
9698
template <typename... Args,
9699
          typename Source,
9700
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9701
SCN_NODISCARD auto scan(Source&& source,
9702
                        scan_format_string<Source, Args...> format)
9703
    -> scan_result_type<Source, Args...>
9704
24.9k
{
9705
24.9k
    auto result = make_scan_result<Source, Args...>();
9706
24.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
24.9k
                                   make_scan_args(result->values())));
9708
24.9k
    return result;
9709
24.9k
}
_ZN3scn2v44scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
9704
2.77k
{
9705
2.77k
    auto result = make_scan_result<Source, Args...>();
9706
2.77k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9707
2.77k
                                   make_scan_args(result->values())));
9708
2.77k
    return result;
9709
2.77k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9710
9711
/**
9712
 * `scan` with explicitly supplied default values
9713
 *
9714
 * Can be used, for example, for pre-allocating a scanned string:
9715
 *
9716
 * \code{.cpp}
9717
 * std::string str;
9718
 * str.reserve(64);
9719
 *
9720
 * // As long as the read string fits in `str`,
9721
 * // does not allocate
9722
 * auto result = scn::scan<std::string>(source, "{}",
9723
 *                                      {std::move(str)});
9724
 * // Access the read string with result->value()
9725
 * \endcode
9726
 *
9727
 * \ingroup scan
9728
 */
9729
template <typename... Args,
9730
          typename Source,
9731
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9732
SCN_NODISCARD auto scan(Source&& source,
9733
                        scan_format_string<Source, Args...> format,
9734
                        std::tuple<Args...>&& initial_args)
9735
    -> scan_result_type<Source, Args...>
9736
{
9737
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9738
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9739
                                   make_scan_args(result->values())));
9740
    return result;
9741
}
9742
9743
/**
9744
 * \defgroup locale Localization
9745
 *
9746
 * \brief Scanning APIs that allow passing in a locale
9747
 */
9748
9749
/**
9750
 * `scan` using an explicit locale.
9751
 *
9752
 * Has no effect on its own, locale-specific scanning still needs to be
9753
 * opted-into on an argument-by-argument basis, with the `L` format string
9754
 * specifier.
9755
 *
9756
 * \code{.cpp}
9757
 * auto result = scn::scan<double>(
9758
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9759
 * // result->value() == 3.14
9760
 * \endcode
9761
 *
9762
 * \ingroup locale
9763
 */
9764
template <typename... Args,
9765
          typename Locale,
9766
          typename Source,
9767
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9768
          typename = std::void_t<decltype(Locale::classic())>>
9769
SCN_NODISCARD auto scan(const Locale& loc,
9770
                        Source&& source,
9771
                        scan_format_string<Source, Args...> format)
9772
    -> scan_result_type<Source, Args...>
9773
24.9k
{
9774
24.9k
    auto result = make_scan_result<Source, Args...>();
9775
24.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
24.9k
                                   make_scan_args(result->values())));
9777
24.9k
    return result;
9778
24.9k
}
_ZN3scn2v44scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
_ZN3scn2v44scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
9773
2.77k
{
9774
2.77k
    auto result = make_scan_result<Source, Args...>();
9775
2.77k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9776
2.77k
                                   make_scan_args(result->values())));
9777
2.77k
    return result;
9778
2.77k
}
9779
9780
/**
9781
 * `scan` with a locale and default values
9782
 *
9783
 * \ingroup locale
9784
 */
9785
template <typename... Args,
9786
          typename Locale,
9787
          typename Source,
9788
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9789
          typename = std::void_t<decltype(Locale::classic())>>
9790
SCN_NODISCARD auto scan(const Locale& loc,
9791
                        Source&& source,
9792
                        scan_format_string<Source, Args...> format,
9793
                        std::tuple<Args...>&& initial_args)
9794
    -> scan_result_type<Source, Args...>
9795
{
9796
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9797
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9798
                                   make_scan_args(result->values())));
9799
    return result;
9800
}
9801
9802
/**
9803
 * `scan` a single value, with default options.
9804
 *
9805
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9806
 * except it can skip parsing the format string, gaining performance.
9807
 *
9808
 * \ingroup scan
9809
 */
9810
template <typename T,
9811
          typename Source,
9812
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9813
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
9814
{
9815
    auto result = make_scan_result<Source, T>();
9816
    fill_scan_result(
9817
        result, vscan_value(SCN_FWD(source),
9818
                            detail::make_arg<scan_context>(result->value())));
9819
    return result;
9820
}
9821
9822
/**
9823
 * `scan` a single value, with default options, and a default value.
9824
 *
9825
 * \ingroup scan
9826
 */
9827
template <typename T,
9828
          typename Source,
9829
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
9830
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
9831
    -> scan_result_type<Source, T>
9832
{
9833
    auto result =
9834
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
9835
    fill_scan_result(
9836
        result, vscan_value(SCN_FWD(source),
9837
                            detail::make_arg<scan_context>(result->value())));
9838
    return result;
9839
}
9840
9841
/**
9842
 * Scan from `stdin`.
9843
 *
9844
 * Equivalent to `scn::scan<...>(stdin, ...)`.
9845
 *
9846
 * \code{.cpp}
9847
 * auto result = scn::input<int>("{}");
9848
 * \endcode
9849
 *
9850
 * \ingroup scan
9851
 */
9852
template <typename... Args>
9853
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9854
    -> scan_result_type<std::FILE*, Args...>
9855
{
9856
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
9857
                                                        std::tuple<Args...>{});
9858
    auto err = vinput(format, make_scan_args(result->values()));
9859
    if (SCN_UNLIKELY(!err)) {
9860
        result = unexpected(err.error());
9861
    }
9862
    return result;
9863
}
9864
9865
/**
9866
 * Write msg to stdout, and call `input<Args...>(format)`
9867
 *
9868
 * \ingroup scan
9869
 */
9870
template <typename... Args>
9871
SCN_NODISCARD auto prompt(const char* msg,
9872
                          scan_format_string<std::FILE*, Args...> format)
9873
    -> scan_result_type<std::FILE*, Args...>
9874
{
9875
    std::printf("%s", msg);
9876
    std::fflush(stdout);
9877
    return input<Args...>(format);
9878
}
9879
9880
namespace detail {
9881
template <typename T>
9882
inline constexpr bool is_scan_int_type =
9883
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
9884
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9885
    !std::is_same_v<T, bool>;
9886
}
9887
9888
/**
9889
 * Fast integer reading.
9890
 *
9891
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9892
 * whitespace.
9893
 *
9894
 * Reads in the specified base,
9895
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9896
 * input. `base` must either be `0`, or in range `[2, 36]`.
9897
 *
9898
 * \ingroup scan
9899
 */
9900
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9901
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9902
    -> scan_result_type<std::string_view, T>
9903
{
9904
    auto result = scan_result_type<std::string_view, T>();
9905
    if (auto r = detail::scan_int_impl(source, result->value(), base);
9906
        SCN_LIKELY(r)) {
9907
        result->set_range(ranges::subrange{*r, source.end()});
9908
    }
9909
    else {
9910
        result = unexpected(r.error());
9911
    }
9912
    return result;
9913
}
9914
9915
namespace detail {
9916
template <bool Val, typename T>
9917
inline constexpr bool dependent_bool = Val;
9918
}
9919
9920
/**
9921
 * Very fast integer reading.
9922
 *
9923
 * Quickly reads an integer from a `std::string_view`.
9924
 *
9925
 * Be very careful when using this one!
9926
 * Its speed comes from some very heavy assumptions about the validity of
9927
 * the input:
9928
 *  - `source` must not be empty.
9929
 *  - `source` contains nothing but the integer: no leading or trailing
9930
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9931
 *    no `+` is allowed.
9932
 *  - The parsed value does not overflow.
9933
 *  - The input is a valid base-10 integer.
9934
 * Breaking these assumptions will lead to UB.
9935
 *
9936
 * \ingroup scan
9937
 */
9938
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9939
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9940
{
9941
    static_assert(
9942
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9943
        "scan_int_exhaustive_valid requires a little endian environment");
9944
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9945
}
9946
9947
SCN_END_NAMESPACE
9948
}  // namespace scn